Python Pandas 注意事项和问题
Caveats意味着警告,Gotcha意味着一个看不见的问题。
在Pandas中使用If/Truth语句
Pandas遵循numpy的惯例,当你试图将某些东西转换为 bool 时,会引发一个错误 。 这发生在使用布尔运算的 if 或,and, or ,or not 时 。 目前还不清楚结果应该是什么。它应该是True,因为它不是Zerolength?还是因为有假值而变成假的?目前还不清楚,因此Pandas会抛出一个ValueError−
其 输出结果 如下 –
在 if 条件下,不清楚该如何处理它。这个错误提示了是否使用 None 或 任何一个. NET Framework。
其 输出 情况如下—
要在布尔环境下评估单元素的pandas对象,请使用方法 .bool() --
其 输出结果 如下 –
比特布尔型
比特布尔运算符,如==和 ! =将返回一个布尔系列,这几乎总是需要的。
其 输出结果 如下 –
isin操作
这将返回一个布尔系列,显示系列中的每个元素是否完全包含在传递的值序列中。
其 输出结果 如下 –
重新索引与ix的关系
许多用户会发现自己使用 ix的索引功能 ,作为从Pandas对象中选择数据的一种简洁的手段:
其 输出结果 如下 –
当然,在这种情况下,这完全等同于使用 重新索引的 方法-
其 输出结果 如下 –
有些人可能会据此得出结论, ix 和 reindex 是100%等价的。这是真的,除了在整数索引的情况下。例如,上述操作可以替代性地表示为–
其 输出结果 如下 –
重要的是要记住, reindex只是严格的标签索引。 这可能会导致一些潜在的令人惊讶的结果,比如说,在一个索引同时包含整数和字符串的病理情况下。