合并具有指定后缀的多个数据帧

Kat*_*ara 0 python pandas

我实现了引用此页面合并多个数据帧.
我想要做的是为每个数据帧指定后缀,如下所示.
但是,我明白了ValueError: too many values to unpack (expected 2).
我明白,为后缀提供长于2的元组会导致此问题.但我不知道如何编写代码来解决这个问题.
谁能告诉我怎么写?

def agg_df(dfList, suffix):
    temp=reduce(lambda left, right: pd.merge(left, right, left_index=True, right_index=True, 
                                             how='outer', suffixes=suffix), dfList)
    return temp

df=agg_df([df_cool, df_light, df_sp, df_hvac], ('_chiller', '_light', '_sp', '_hvac'))
Run Code Online (Sandbox Code Playgroud)

and*_*ece 5

您可以在之前添加后缀merge,使用add_suffix:

dfs = {0: df_cool, 1: df_light, 2: df_sp, 3: df_hvac}
suffix = ('_chiller', '_light', '_sp', '_hvac')
for i in dfs:
    dfs[i] = dfs[i].add_suffix(suffix[i])
Run Code Online (Sandbox Code Playgroud)

然后删除suffixes参数merge,你就完成了:

def agg_df(dfList):
    temp=reduce(lambda left, right: pd.merge(left, right, 
                                             left_index=True, right_index=True, 
                                             how='outer'), dfList)
    return temp

df = agg_df(dfs.values())
Run Code Online (Sandbox Code Playgroud)