![](/img/trans.png)
[英]Remove rows in pandas dataframe if any of specific columns contains a specific value
[英]Remove a row in pandas dataframe if multiple columns contains specific value
我试图寻找这个问题的答案,但没有找到任何适合我的东西。 我想删除某些列包含特定值的行。 就我而言,我想删除该行中以“user”开头的每一列都包含值“pass”的行。 例如,如果我有以下 dataframe:
idx start end user1 user2
0 1 3 pass pass
1 4 5 burger burger
2 6 7 nuggets cola
3 10 15 pass burger
我想删除第 0 行,但不是第 3 行,因为只有一列包含值“pass”。 将不胜感激任何帮助!
更新:用户列的名称和数量可能会增加,例如可能有 user1、user2、user3 等。
尝试这个:
df = df[~df.filter(like='user').apply(set, axis=1).eq({'pass'})]
您可以使用条件对 DataFrame 进行切片。
df[(df['user1'] != 'pass') & (df['user2'] != 'pass')]
如果你想让它成为新的df,只需使用:
df = df[(df['user1'] != 'pass') & (df['user2'] != 'pass')]
df = df.drop((df.loc[(df['user1'] == 'pass') && df['user2'] == 'pass']).index)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.