微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

pandas中的join()函数指定我需要一个多索引,但我对层次索引方案与基于单个索引的连接有什么关系感到困惑.

解决方法:

假定进口:

import pandas as pd

John Galt’s answer基本上是一种减少操作.如果我有一些以上的数据帧,我会将它们放在这样的列表中(通过列表推导或循环或诸如此类生成):

dfs = [df0, df1, df2, dfN]

假设他们有一些共同的列,例如你的例子中的名字,我会做以下事情:

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

这样,您的代码应该与您要合并的任意数量的数据帧一起使用.

编辑2016年8月1日:对于那些使用Python 3的人:reduce已被移入functools.因此,要使用此功能,您首先需要导入该模块:

from functools import reduce

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐