Python,熊猫连接多个数据帧

Posted

技术标签:

【中文标题】Python,熊猫连接多个数据帧【英文标题】:Python, pandas concatenate multiple dataframes 【发布时间】:2017-10-15 20:46:18 【问题描述】:

我有一个 csv 文件列表,我使用 pd.read_csv() 将其加载为数据框

我目前正在尝试遍历 csv 列表并使用 pd.concat() 方法并将轴参数设置为 1 以按列将所有数据帧添加在一起。

它按预期工作,但是我遇到的问题是,由于所有数据框在我连接它们时都有相同的列名称,因此我得到例如十列都带有键“日期”

无论如何我可以给列提供所有唯一名称,例如 London_Date、Berlin_Date?显然名称是基于数据框的名称。

【问题讨论】:

如果您知道要避免哪些列,您可以将它们删除 Selecting/Excluding sets of columns in Pandas的可能重复 【参考方案1】:

如果您将键列表传递给concat(),然后您可以使用给定键单独索引您想要的任何列,如下所示:

df1 = pd.DataFrame('A': ['A0', 'A1', 'A2', 'A3'],
                'B': ['B0', 'B1', 'B2', 'B3'],
                'C': ['C0', 'C1', 'C2', 'C3'],
                'D': ['D0', 'D1', 'D2', 'D3'],
                index=[0, 1, 2, 3])
df2 = df1
df3 = df1
add = pd.concat([df1, df2, df3], axis = 1, keys=['Group_1', 'Group_2', 'Group_3'])
print(add.Group_1.A) # or add.Group_2.B etc...

【讨论】:

以上是关于Python,熊猫连接多个数据帧的主要内容,如果未能解决你的问题,请参考以下文章

熊猫用不同的列python连接数据框列表

熊猫,无法连接数据帧

在熊猫中连接/附加许多数据帧

从多个熊猫数据帧创建 HDF5

不能连接相同长度的熊猫数据帧?

将多个熊猫数据帧作为单个 Django zip 文件返回(每个 DF 一个文件)HttpResponse