簡體   English   中英

如何使用另一個 Dataframe 在 Pandas 的 Dataframe 中添加整個列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM