我有一个存储为dfs
的熊猫数据帧列表,以及一个小的reduce函数,用于沿所有数据帧执行内部合并,并使用适当的后缀重命名列,例如:
reduced_df = reduce(lambda left, right:
pd.merge(left[1], right[1], on='id', how='outer',
suffixes=[F"_{left[0]}", F"_{right[0]}"]).fillna(0, downcast='infer'), enumerate(dfs))
我的回溯如下:
然后我得到一个KeyError 1跟踪信息,它可以追溯到pd.merge(left[1], right[1]
。
有趣的是,当我删除enumerate(dfs)并在清洁后缀代码后仅传入左右帧时,该函数通过了。
有什么想法吗?