Як з'єднати два кадри даних у Python Pandas?


12

У мене є два кадри даних df1 і df2, і я хотів би об'єднати їх в один кадр даних. Це так, ніби df1 і df2 були створені, розділивши один кадр даних по центру вертикально, як розривання аркуша паперу, який містить список навпіл, так що половина стовпців йде на одному папері, а половина стовпців - на інший. Я хотів би об'єднати їх назад разом. Як це зробити?

Відповіді:


7

Pandas має вбудовану функцію злиття. Будь ласка, зверніться до документації

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 "вертикально", у вас є два DataFrames, що мають той самий індекс.

Можна використовувати функцію злиття або функцію concat .

З конкретом з було б щось подібне:

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

З об'єднанням з цим було б щось подібне:

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

Більш складні варіанти злиття див . У навчальному посібнику "Злиття, об'єднання" та "стислість" .


1
merge - це неправильно ... Ви спробували запустити код?
Хорхе Лейтао
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.