[英]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.