【发布时间】:2019-05-24 22:33:53
【问题描述】:
我有一本字典 dict 包含许多(超过 100 个)数据帧。每个数据帧包含两个变量name 和'value_i'。例如,此字典 dict[1] 中的第一个数据帧如下所示:
name value_1
A 1
B 1.1
C 2
同样,此字典 dict2 中的第二个数据框如下所示:
name value_2
A 1
B 1.1
D 1.3
我想通过公共变量name 合并此字典中的所有数据帧。
预期结果应如下所示:
name value_1 value_2
A 1 1
B 1.1 1.1
C 2 nan
D nan 1.3
我知道我可以多次 pd.merge[dict[i], dict[i-1], how = 'outer', on = 'name' 将所有数据帧合并在一起。但这太低效了。
我试过pd.concat(dict.values(), axis = 1, join='outer' 但concat 不允许我按关键变量合并。
谁能教我如何更有效地做到这一点?
【问题讨论】:
-
您的示例的预期输出是什么?
-
你应该看看this post,因为它涵盖了大量的合并信息。
-
我不确定所有的答案。看起来你想要
pd.join(dict.keys(),how = 'outer', on = 'name'),它被重复的目标所覆盖。 -
对于 pd.join(dict.keys(),how = 'outer', on = 'name',我收到以下错误消息 module 'pandas' has no attribute 'join'
标签: python pandas dictionary dataframe