объединить два кадра данных с дублированными столбцами - PullRequest
0 голосов
/ 13 июня 2019

У меня есть два кадра данных, 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.

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Использование @wwii setup.Позвольте использовать 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
0 голосов
/ 13 июня 2019
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)
...