【发布时间】:2015-05-29 11:18:33
【问题描述】:
我有一个 pandas 数据框,我试图根据选择列的条件删除行。如果这些选择列中的值为零,则应删除行。这是一个例子。
import pandas as pd
t = pd.DataFrame({'a':[1,0,0,2],'b':[1,2,0,0],'c':[1,2,3,4]})
a b c
0 1 1 1
1 0 2 2
2 0 0 3
3 2 0 4
我想尝试以下方法:
cols_of_interest = ['a','b'] #Drop rows if zero in all these columns
t = t[t[cols_of_interest]!=0]
这不会删除行,所以我尝试了:
t = t.drop(t[t[cols_of_interest]==0].index)
所有行都被删除。
我想结束的是:
a b c
0 1 1 1
1 0 2 2
3 2 0 4
第 3 行(索引 2)被删除的地方,因为它在感兴趣的两列中都取值为 0,而不仅仅是一列。
【问题讨论】: