熊猫数据框按条件放置行

时间:2019-08-01 22:13:15

标签: python pandas dataframe rows

我用熊猫。我有DataFrame。

我想根据相同的条件删除行。

Y

请告诉我是否有更漂亮/更快的解决方案?

2 个答案:

答案 0 :(得分:2)

all相比,我认为您可以在合并列时使用''

bool_mask = (df['a'] == 'aaa') & \
            (df[['b', 'c', 'd', 'e', 'f', 'm', 'n', 'w']] == '').all(1)

df = df[~bool_mask]

答案 1 :(得分:1)

我们可以按如下所示将其缩减,找到其他所有等于''的列,并将等于'aaa'的a列作为目标:

# make whole df equal to '' then sum all of them by row 
# then we at least need 8 blank 
# then apply the 2nd condition df.a should be equal to 'aaa' 
m=(df=='').sum(1).eq(8)&df.a.eq('aaa')

m=df.drop('a',1).eq('').all(1)&df.a.eq('aaa')