[英]Pandas merge dataframes and update Only one Column from Second Dataframe
我能夠解決這個問題,但是需要一個具有以下約束的pythonic解決方案:
第一個示例數據框看起來像
df1
A B C D E F
a NULL 8 7 uu qw
b hag 9 10 lq ss
c ja 11 2 sa lo
d NULL 17 1 fg
第二個 dataframe 看起來像
df2
A B C D E F
a YES 8 7 uu qw
b PLH 9 10 lq ss
c NO 11 2 sa lo
e SAM 17 1 fg
因此,我想合並列 A、C DE 和 F 上的數據框。但是,我想用第二個 dataframe (df2) 中的值替換列 B。 所以 output 應該如下所示:
final_df
A B C D E F
a YES 8 7 uu qw
b PLH 9 10 lq ss
c NO 11 2 sa lo
我能夠合並數據幀,但是得到兩個 B 列並且必須使用刪除一個 B_x 列,然后重新排列這些列以獲得最終的 Dataframe。 有一個更好的方法嗎? 我問的原因是我有接近 1000 列並且重新排列列正在成為一個問題,因為在這種情況下,我必須明確地編寫所有列,這是一個禁忌。
任何幫助將不勝感激。 提前致謝。
如果需要在df1
中輸出相同的列,並在兩個 DataFrames 中更新相同的列,如B
,則使用suffixes
參數為df1
中的B
列添加_
,並為相同的順序和相同的列添加DataFrame.reindex
,如df1.columns
中的 df1.columns:
df = (df1.merge(df2, on=['A','C','D','E', 'F'], suffixes=('_',''))
.reindex(df1.columns, axis=1))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.