如何获取一组列(不是全部)为零的所有行?
例如,如果我有一个像这样的数据框:
我只想取回 N 行和 Q 行(实际上只取回 U 列和 W 列的这两行)。
我正在尝试做类似的事情:
df.loc[(df == 0).all(axis=1), :]
但是,当然,它不起作用,因为并非所有列(u 和 W)都等于 0。
我该怎么做?
最佳答案
您可以使用子集:
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
关于python - Pandas 数据框获取一组列等于零的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44502457/