我有两个数据框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
和TL
来自数据A
,但Col1-Col5
来自数据B
。
答案 0 :(得分:1)
使用@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
答案 1 :(得分:0)
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)