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,熊猫连接多个数据帧的主要内容,如果未能解决你的问题,请参考以下文章