pandas三向连接列上的多个数据帧

我有3个CSV文件。每个数据帧的第一列都是人名(字符串),而每个数据帧中的所有其他列都是该人名的属性

如何将所有三个CSV文档“连接”在一起,以创建一个CSV,其中每一行都具有个人字符串名称的每个唯一值的所有属性

pandas中的join()函数指定我需要一个多索引,但我不清楚分层索引方案与基于单个索引进行连接有什么关系

假定进口:

将熊猫作为pd导入

John Galt的答案基本上是一个reduce操作。如果我有多个数据帧,我会将它们放在这样的列表中(通过列表理解或循环或诸如此类的方式生成):

dfs=[df0,df1,df2,dfN]

假设它们有一些公共列,如示例中的name,我将执行以下操作:

df_final=reduce(lambda left,right:pd.merge(left,right,on='name'),dfs)

这样,您的代码就可以处理任意数量的要合并的数据帧

编辑2016年8月1日:对于使用Python 3的用户:reduce已被移动到functools。因此,要使用此函数,首先需要导入该模块:

从functools导入的


发表评论