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

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

Pandas 刪除一個數據框中的行,這些行與另一個數據框的列中的行共享一個公共值

Pandas 刪除一個數據框中的行,這些行與另一個數據框的列中的行共享一個公共值

皈依舞 2022-10-05 18:29:31
我有一個名為 x1 的數據框: FID  g1    g2    g3  0   19    20    13  1   16    11    14  2   15    20    11和一個名為 x2 的數據框: FID  g1     1   16  我想更改 x1,使其不包括 x2 中的行: FID  g1    g2    g3  0   19    20    13  2   15    20    11我試過了:x1 = pd.concat([x1,x2]).drop_duplicates(keep=False)但認為這僅在數據框具有匹配的模式時才有效。我可以只保留 x1 中不共享 x2 中 FID 值的行嗎?
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

您可以使用在 的列中出現的列中pd.Series.isin的值創建布爾系列。FIDx1FIDx2


然后只需使用pd.DataFrame.locwith 運算符~來反轉布爾系列并選擇其列中x1的值未出現在FID列中的行:FIDx2


cond = x1.FID.isin(x2.FID)

x1.loc[~cond] 

# output:

   FID  g1  g2  g3

0    0  19  20  13

2    2  15  20  11


查看完整回答
反對 回復 2022-10-05
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

x1.drop(x2['FID'])

輸出

    FID  g1  g2  g3

 0    0  19  20  13

 2    2  15  20  11


查看完整回答
反對 回復 2022-10-05
  • 2 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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