объединение двух панд dataframe с помощью определенного столбца

Я новичок в pandas, и я пытаюсь объединить два фрейма данных на основе равенства одного конкретного столбца. Например, предположим, что у меня есть следующее:

df1
A    B    C
1    2    3
2    2    2

df2
A    B    C
5    6    7
2    8    9

оба фрейма данных имеют одинаковые столбцы, и значение только одного столбца (скажем, A) может быть равно. То, что я хочу в качестве вывода, это:

df3
A    B    C   B    C
2    8    9   2    2

значения для столбца " A " уникальны в обоих кадрах данных.

спасибо

2 ответов


pd.concat([df1.set_index('A'),df2.set_index('A')], axis=1, join='inner')

Если вы хотите сохранить столбец A как неиндекс, то:

pd.concat([df1.set_index('A'),df2.set_index('A')], axis=1, join='inner').reset_index()

в качестве альтернативы вы можете просто сделать:

df3 = df1.merge(df2, on='A', how='inner', suffixes=('_1', '_2'))

и затем вы можете отслеживать происхождение каждого значения