簡體   English   中英

結合兩個具有重復列的數據框

[英]combine two dataframe with duplicated columns

我有兩個數據框,A和B。
我想通過pandas.concat([A, B], axis = 1)組合它們。
但是,其中有一些重復的列,如下所示:

# A
ID Col1 Col2 Col3 Col4 Col5 TL

# B
Col1 Col2 Col3 Col4 Col5

下的值Col1-Col5在數據B是與所述一個中的數據不同的A
如何獲得帶有ID Col1 Col2 Col3 Col4 Col5 TL列的新數據ID Col1 Col2 Col3 Col4 Col5 TL
IDTL來自數據ACol1-Col5來自數據B

使用@wwii設置。 讓我們使用combine_first

db.combine_first(da)

輸出:

  ID TL  c1  c2
0  a  q  10  20
1  b  r  11  21
2  c  s  12  22
3  d  t  13  23
4  e  u  14  24
da = pd.DataFrame({'ID':list('abcde'), 'c1':range(5),'c2':range(5), 'TL':list('qrstu')})
db = pd.DataFrame({'c1':range(10,15),'c2':range(20,25)})

不清楚您需要什么,這里有一些。

da.update(db)

da[['c1','c2']] = db[['c1','c2']]

cols = [c for c in da.columns if c in db.columns]
da[cols] = db[cols]

dc = pd.concat([da['ID'],db[['c1','c2']], da['TL']], 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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