[英]How to add an entire Column in Dataframe in Pandas using another Dataframe
我有 2 個數據框。 我想通過從第二個數據幀(df2)添加列值 w.r.t A 來更新第一個數據幀(df1)。 我已經在索引處創建了新列(C)(這將是一個變量)。
df1
A B
100 3454
150 2343
200 7655
250 3454
300 4565
df2
A C
200 4565
250 6647
300 9865
350 4653
400 0776
結果df
A B C
100 3454
150 2343
200 7655 4565
250 3454 6647
300 4565 9865
350 4653
400 0776
你需要一個外連接:
df1 = pd.DataFrame({'A': {0: 100, 1: 150, 2: 200, 3: 250, 4: 300},
'B': {0: 3454, 1: 2343, 2: 7655, 3: 3454, 4: 4565}})
df2 = pd.DataFrame({'A': {0: 200, 1: 250, 2: 300, 3: 350, 4: 400},
'C': {0: 4565, 1: 6647, 2: 9865, 3: 4653, 4: 776}})
df1.merge(df2, on=["A"], how="outer")
A B C
0 100 3454.0 NaN
1 150 2343.0 NaN
2 200 7655.0 4565.0
3 250 3454.0 6647.0
4 300 4565.0 9865.0
5 350 NaN 4653.0
6 400 NaN 776.0
盡管merge
可以完成這項工作,但如果在數據集很大時需要一種更有效的方法,可以使用join
。
df1.set_index('A').join(df2.set_index('A'), how='outer').reset_index()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.