объединение двух панд 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'))
и затем вы можете отслеживать происхождение каждого значения