我有以下类型的pandas数据帧;
id | a | b | c | d | e | g
---------------------------
1 | 0 | 1 | 0 | 1 | 1 | 1
2 | 0 | 0 | 0 | 0 | 1 | 0
3 | 0 | 0 | 0 | 0 | 1 | 1
我想过滤所有列(a
到d
(都为零的行。我知道这可以通过以下方式实现:;
data[data['a']==0 & data['b']==0 & data ['c'] ==0 & data ['d'] ==0]
但是有没有一种更快的方法使用iloc
或loc
来实现这一点。例如,我尝试了以下内容;
data.iloc[:,[1:4]==0]
但它给了我以下错误信息;ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]
感谢任何可以取代我原来解决方案的替代反馈/建议。谢谢
你的意思是:
df[df.iloc[:,1:4].eq(0).all(1)]