亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas 按多個條件刪除重復行

Pandas 按多個條件刪除重復行

白板的微信 2023-08-08 18:00:42
從我的 df 開始,我想按如下方式刪除行:每次ID檢查是否至少一次COD1=COD2且 ifGRADE包含字符串'A'or 'C'。如果滿足這兩個條件,則刪除行。我的想法是這樣提出我的條件:indexNames = df[ (df[df.COD1 == df.COD2]) & (df[df['Grade'].isin(['A','C'])]) ].index然后用df.drop(indexNames , inplace=True)然而對于第一行我得到了TypeError: unsupported operand type(s) for &: 'int' and 'float'。我真的很感激任何關于如何實現我的目標的想法。我的 DF:# -- create a dataframe list_columns = ['ID', 'COD1', 'COD2','Grade','Data']list_data = [    [3215575, 'A21', 'A21','A','2020-09-16 13:25:00'],    [3215575, 'A11', 'A21','D','2020-09-16 13:55:00'],    [3215575, 'A21', 'A21','E','2020-09-16 13:12:00'],    [4058770, 'D10', '213','E','2020-09-16 12:25:00'],    [4058770, '313', '313','E','2020-09-16 10:25:00'],    [4058770, '313', '125','B','2020-09-16 13:19:00'],    [4058771, 'C55', 'C55','C','2020-09-16 14:25:00'],    [3215577, 'A21', 'A21','B','2020-09-16 13:25:00'],    [3215577, 'A01', 'A21','D','2020-09-16 13:55:00']    ]df = pd.DataFrame(columns=list_columns, data=list_data)預期輸出:    list_columns = ['ID', 'COD1', 'COD2','Grade','Data']    list_data = [        [4058770, 'D10', '213','E','2020-09-16 12:25:00'],        [4058770, '313', '313','E','2020-09-16 10:25:00'],        [3215577, 'A21', 'A21','B','2020-09-16 13:25:00'],        [3215577, 'A01', 'A21','D','2020-09-16 13:55:00']        ]df2 = pd.DataFrame(columns=list_columns, data=list_data)
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

IIUC,,你需要一個條件,用 groupby 并用 any 進行變換,然后反轉:


cond = (df.COD1 == df.COD2) & df['Grade'].isin(['A','C'])

df2 = df[~cond.groupby(df['ID']).transform('any')].reset_index(drop=True)

        ID COD1 COD2 Grade                 Data

0  4058770  D10  213     E  2020-09-16 12:25:00

1  4058770  313  313     E  2020-09-16 10:25:00

2  4058770  313  125     B  2020-09-16 13:19:00

3  3215577  A21  A21     B  2020-09-16 13:25:00

4  3215577  A01  A21     D  2020-09-16 13:55:00


查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號