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

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

合并熊貓數據框并保留合并標準不匹配的行

合并熊貓數據框并保留合并標準不匹配的行

阿晨1998 2023-04-25 15:22:02
我有這兩個數據框:df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']}) df2 = pd.DataFrame({'A': ['A0', 'A1', 'A3'],'B': ['B0', 'B1', 'B2']})我現在想通過列中的條目合并這兩個數據框'A'。但我不想保留匹配的行,而是保留彼此不匹配的行。這意味著,我想要一個看起來像這樣的新數據框:df_new = pd.DataFrame({'A':['A3'], 'B':['B2']})我怎么能這樣做?
查看完整描述

2 回答

?
猛跑小豬

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

與外部聯接合并會給您類似的結果:


df1.merge(df2, how = 'outer', on = 'A', indicator = True)

    A  B_x  B_y      _merge

0  A0   B0   B0        both

1  A1   B1   B1        both

2  A2   B2  NaN   left_only

3  A3  NaN   B2  right_only

可以通過以下方式過濾query:


df1.merge(df2, how = 'outer', on = 'A', indicator = True).query("_merge != 'both'")

    A  B_x  B_y      _merge

2  A2   B2  NaN   left_only

3  A3  NaN   B2  right_only

注意indicator = True創建_merge適合過濾行的列。


查看完整回答
反對 回復 2023-04-25
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

試試這個,使用isin:


df2.loc[~df1.A.isin(df2.A)]


? ? A? ?B

2? ?A3? B2


查看完整回答
反對 回復 2023-04-25
  • 2 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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