Как объединить два фрейма данных в Python Pandas?

12

У меня есть два фрейма данных df1 и df2, и я хотел бы объединить их в один фрейм данных. Это как если бы df1 и df2 были созданы путем разделения одного фрейма данных по центру по вертикали, подобно разрыву листа бумаги, который содержит список пополам, так что половина столбцов идет на одной бумаге, а половина столбцов - на другой. Я хотел бы объединить их вместе. Как это сделать?

sebastianspiegel
источник

Ответы:

7

Панды имеют встроенную функцию слияния. Пожалуйста, обратитесь к документации

End-result should be something like this:
df_merged = pd.merge(df1, df2, left_on=['name_indexcolumn_df1_here'],
              right_on=['name_indexcolumn_df2_here'],
              how='inner')
Рольф Шорпион
источник
4

Если вы разделяете DataFrame «по вертикали», то у вас есть два DataFrame с одинаковым индексом.

Вы можете использовать функцию слияния или функцию concat .

С concat с будет что-то вроде этого:

pandas.DataFrame.concat([df1,df2], axis=1)

При слиянии с будет что-то вроде этого:

pandas.Dataframe.merge([df1,df2], left_index=True)

Для более сложных опций слияния см. Учебник « Слияние, соединение и соединение панд» .

Жоао Алмейда
источник
1
слияние неправильно ... вы пытались запустить код?
Хорхе Лейтао