我有兩個數據幀,如下比較熊貓dataframes和添加柱
df1 df2
A A C
A1 A1 C1
A2 A2 C2
A3 A3 C3
A1 A4 C4
A2
A3
A4
列的「A」在DF2中定義列「C」的值。 我想添加一個新列DF1與B列從DF2列「C」
它的價值最終DF1應該是這樣的
df1
A B
A1 C1
A2 C2
A3 C3
A1 C1
A2 C2
A3 C3
A4 C4
我可以遍歷DF2和值添加到df1但由於數據龐大而耗時。
for index, row in df2.iterrows():
df1.loc[df1.A.isin([row['A']]), 'B']= row['C']
有人可以幫助我瞭解如何解決這個問題,而無需循環播放df2。
感謝
謝謝大家的建議。我使用這個解決方案,因爲它會將df2中的其他列合併到df1。謝謝@EdChum –
'merge'和'map'之間也有語義上的區別,如果df1中的查找不存在於df2中,那麼'merge'將插入'NaN',而'map'則會拋出'KeyError' – EdChum