熊猫无法按列值过滤



我只想获取数据帧中特定可能值小于某个上限的那些行。

我曾经这样做过:

final_data[final_data['Time']<30.000000]

它给了我错误:

IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match

我再次尝试:

final_data.loc[:,final_data['Time']<30.000000]

我得到:

IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match

如何根据列值在熊猫中实现过滤器?

在我看来,第一个解决方案应该在熊猫0.23.0中完美运行。

另一种解决方案是将列转换为numpy数组,以避免掩码和数据帧之间的索引对齐:

final_data[final_data['Time'].values < 30.000000]
final_data.loc[:,final_data['ResponseSLATime'].values < 30.000000]

或使用query

final_data.query('Time < 30.000000')

最新更新