Pandas:从数据框

时间:2017-10-06 14:16:00

标签: python pandas

我有数据框

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')

但它会返回完整的数据帧。 我该如何解决这个问题?

3 个答案:

答案 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