我有数据框
id m1 m2 m3
111 20 0 12
222 0 0 0
333 3 1 18
我只需要
id m1 m2 m3
111 20 0 12
333 3 1 18
我用
df.drop(axis=0, how='all')
但它会返回完整的数据帧。 我该如何解决这个问题?
答案 0 :(得分:4)
您可以使用布尔索引,即
ndf = df[~(df.set_index('id')==0).all(1).values]
输出:
id m1 m2 m3 0 111 20 0 12 2 333 3 1 18
答案 1 :(得分:4)
In [91]: ndf = df[df.filter(regex='^m').astype(bool).any(1)]
In [92]: ndf
Out[92]:
id m1 m2 m3
0 111 20 0 12
2 333 3 1 18
答案 2 :(得分:0)
在这里,可以通过以下简单方法完成。
df=df[df['id']!=222]
print(df)
id m1 m2 m3
0 111 20 0 12
2 333 3 1 18