我有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] 举报,一经查实,本站将立刻删除。