2017-10-06 165 views
0

删除空字符串我有数据帧熊猫:从数据帧

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

@Bharathshetty返回我没有用'就地= TRUE' –

+0

我想它dropna遗憾。你可以做到这一点,而不使用拖放。检查我的答案是否有帮助 – Dark

回答

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

完美的教科书答案,+1 – Vaishali

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 
+0

whats'^ m'我是新来的那种模式? – Dark

+0

非常聪明,花了我一秒的时间找出astyp(布尔)在这里:) – Vaishali

+0

@Bharathshetty,这是一个RegEx - 意味着字符串,以“m”开始# – MaxU