我確定這個問題一定已經在某個地方得到了回答,但我找不到適合我的情況的答案。
我有 2 個熊貓資料框
a = pd.DataFrame({'A1':[1,2,3], 'A2':[2,4,6]}, index=['a','b','c'])
b = pd.DataFrame({'A1':[3,5,6], 'A2':[3,6,9]}, index=['a','c','d'])
我想合并它們以獲得類似的東西
result = pd.DataFrame({
'A1' : [3,2,5,6],
'A2' : [3,4,6,9]
}, index=['a','b','c','d'])
基本上,我想要一個新的 df 與兩個索引的聯合。如果索引匹配,則每列中的值應使用第二個 df 中的值進行更新(在本例中b)。如果不匹配,則從起始 df 獲取值(在這種情況下a)。
我嘗試了 merge()、join() 和 concat(),但我無法獲得這個結果。
uj5u.com熱心網友回復:
如果注釋正確并且結果中確實存在拼寫錯誤,則可以使用pd.concat創建一個資料框(b因為它是第b一個優先保留其值的資料框a),然后洗掉重復的索引:
使用您的樣本資料:
c = pd.concat([b,a])
c[~c.index.duplicated()].sort_index()
印刷:
A1 A2
a 3 3
b 2 4
c 5 6
d 6 9
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468511.html
上一篇:如何洗掉R中的重復列名?
