我有兩個數據幀,df_original
和df_update
,都與multiindex。我如何更新兩個數據框?
我想更新df_original
與df_update
,其中鍵的值相匹配,任何新數據添加從df_update
到df_original
。
我該怎麼做?
(我試過df.update
和df.merge
,但似乎無法找到一個乾淨的解決方案)。
我有兩個數據幀,df_original
和df_update
,都與multiindex。我如何更新兩個數據框?
我想更新df_original
與df_update
,其中鍵的值相匹配,任何新數據添加從df_update
到df_original
。
我該怎麼做?
(我試過df.update
和df.merge
,但似乎無法找到一個乾淨的解決方案)。
你的描述與combine_first
方法的描述匹配:
組合兩個數據框對象和默認爲非空值幀 調用方法。結果索引列將是 相應的索引和列
參數的工會:其他:數據幀
返回:聯合:據幀
idx = pd.MultiIndex.from_tuples([('a', 'x'), ('a', 'y'), ('b', 'x')])
df1 = pd.DataFrame([1, 2, 3], index=idx)
df1
Out:
0
a x 1
y 2
b x 3
idx = pd.MultiIndex.from_tuples([('a', 'y'), ('b', 'x'), ('b', 'y')])
df2 = pd.DataFrame([4, 5, 6], index=idx)
df2
Out:
0
a y 4
b x 5
y 6
df1.combine_first(df2)
Out:
0
a x 1.0
y 2.0
b x 3.0
y 6.0
print(df_original.merge(df_update,how="outer"))
,我認爲這會工作
我們可能需要一些樣品和預期輸出能夠看到你想要做的事情。 –
如果沒有示例數據集,很難回答,但看起來您正在描述'df_original.combine_first(df_update)'。 – ayhan
@ayhan combine_first就是答案!如果您將其作爲正確答案提交,我會將其標記爲正確!謝謝! – cjm2671