Python Pandas Caveats警告 & Gotchas预见
Caveats表示警告,gotcha表示未预见的问题。
在Pandas中使用if/Truth语句
Pandas遵循numpy的约定,当您尝试将某个对象转换为 bool 时,会抛出错误。这在使用布尔运算的 if 或 when 以及 or 、 and 或 not 时会发生。不清楚应该得到什么结果。它应该是True,因为它不是零长度的吗?它应该是False,因为有False的值吗?不清楚,所以Pandas会引发 ValueError –
其输出如下所示:
在 if 条件下,不清楚该怎么处理它。错误的提示是使用 None 或是 其中任何一个 。
输出 –
要在布尔上下文中评估单元素的pandas对象,请使用方法 .bool()
−
输出 –
位运算布尔
位运算布尔运算符如 ==
和 !
返回一个布尔序列,这通常是所需的。
输出 −
isin操作
此操作返回一个布尔系列,显示系列中的每个元素是否完全包含在传递的值序列中。
输出 –
重新索引 vs ix 使用注意事项
很多用户会发现使用 ix 索引能力 作为从 Pandas 对象中选择数据的简洁方式−
输出 –
当然,在这种情况下,这完全等效于使用 reindex 方法 –
输出 –
有些人可能会认为根据这一点, ix 和 reindex 是100%等价的。除了在整数索引的情况下。例如,上述操作可以替代地表示为-
输出 –
重要的是要记住, 重新索引仅针对严格的标签索引 。这可能会导致一些潜在的令人惊讶的结果,比如在索引中同时包含整数和字符串时。