我想只获取数据帧中那些特定的coulmn值小于某个上限的行。
我曾经这样做过:
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
如何根据列值在pandas中实现过滤器?
答案 0 :(得分:2)
在我看来,第一个解决方案应该在pandas 0.23.0
中完美运行。
另一个解决方案是将列转换为numpy数组,以避免在掩码和DataFrame之间对齐索引:
final_data[final_data['Time'].values < 30.000000]
final_data.loc[:,final_data['ResponseSLATime'].values < 30.000000]
或使用query
:
final_data.query('Time < 30.000000')