Python 熊猫:从数据帧中删除空字符串

Python 熊猫:从数据帧中删除空字符串,python,pandas,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 我用 但它会返回完整的数据帧。 如何解决这个问题?您可以使用布尔索引,即 ndf = df[~(df.set_index('id')==0).all(1).values] 输出:

我有数据帧

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
我用

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

您可以使用布尔索引,即

ndf = df[~(df.set_index('id')==0).all(1).values]
输出:

id m1 m2 m3 0 111 20 0 12 2 333 3 1 18 内径m1 m2 m3 0 111 20 0 12 2 333 3 1 18
在这里,它可以用如下简单的方法来完成

df=df[df['id']!=222]

打印(df)

id m1 m2 m3
0  111  20   0  12

2 333 3 1 18

@Bharathshetty它返回我一个都没有,带有
inplace=True
我认为它的下落很抱歉。你可以不用滴水就可以做到。检查我的答案是否有助于了解
^m
我对这种模式是新的吗?非常聪明,我花了一点时间才弄明白astyp(bool)在这里:)@bharthshetty,这是一个正则表达式,意思是以
“m”开头的字符串
哦,妈的,我在
m
后面想象了一个转义字符,我觉得它像
^m
。我很抱歉,我觉得自己很笨,现在有一个完美的教科书式答案,+1 id m1 m2 m3 0 111 20 0 12 2 333 3 1 18
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