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