如何在 Python Pandas 中合并两个数据框?

数据挖掘 熊猫
2021-09-22 02:34:36

我有两个数据框 df1 和 df2,我想将它们合并到一个数据框中。就好像 df1 和 df2 是通过将单个数据框沿中心垂直拆分来创建的,就像将一张包含列表的纸撕成两半,这样一半的列在一张纸上,一半的列在另一张纸上。我想将它们重新合并在一起。我该怎么做?

3个回答

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')

如果您“垂直”拆分 DataFrame,那么您将拥有两个具有相同索引的 DataFrame。

您可以使用合并功能或连接功能。

使用concat with 将是这样的:

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

合并将是这样的:

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

有关更复杂的合并选项,请参阅Merge、join 和 concat pandas 教程

考虑数据框:

Preco2018大小 (8784, 5)

数据框 1

Preco 2019尺寸 (8760, 5)

数据框 2

具有相同的列名。

您可以使用pandas.concat, 通过简单地组合它们

import pandas as pd

frames = [Preco2018, Preco2019]

df_merged = pd.concat(frames)

这导致 DataFrame 具有以下大小 (17544, 5)

两个数据帧组合的数据帧结果

如果你想可视化,它最终会像这样工作

concat 的工作原理

图片来源