我有 3 个 CSV 文件。每个都有第一列作为人的(字符串)名称,而每个数据框中的所有其他列都是该人的属性。
如何将所有三个 CSV 文档“连接”在一起以创建单个 CSV,其中每一行都包含人员字符串名称的每个唯一值的所有属性?
pandas 中的 join()
函数指定我需要一个多索引,但我对分层索引方案与基于单个索引进行连接有什么关系感到困惑。
最佳答案
Zero's answer基本上是一个 reduce
操作。如果我有多个数据框,我会将它们放在这样的列表中(通过列表推导或循环或其他方式生成):
dfs = [df0, df1, df2, ..., dfN]
假设它们有一个共同的列,例如您的示例中的 name
,我会执行以下操作:
import functools as ft
df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
这样,您的代码应该适用于您要合并的任意数量的数据帧。
关于python - Pandas 三向连接列上的多个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23668427/