我在Pandas中很新,我想知道如何获取一组列(并非所有列)等于零的所有行。
例如,如果我有这样的数据框:
我想只返回N和Q行(实际上只有这两行有U和W列)。
我试图做类似的事情:
df.loc[(df == 0).all(axis=1), :]
但是,当然,它并不起作用,因为并非所有列(u和W)都等于零。 我该怎么办?
先谢谢!
答案 0 :(得分:1)
您可以使用子集:
cols = ['X','Y','Z']
df1 = df.loc[(df[cols] == 0).all(axis=1), :]
print (df1)
U W X Y Z
1 c d 0 0 0
4 i j 0 0 0
也可以使用:
exclude = ['U', 'W']
cols = df.columns.difference(exclude)
print (cols)
Index(['X', 'Y', 'Z'], dtype='object')
df1 = df.loc[(df[cols] == 0).all(axis=1), :]
print (df1)
U W X Y Z
1 c d 0 0 0
4 i j 0 0 0