提问人:florence-y 提问时间:10/25/2023 最后编辑:florence-y 更新时间:10/25/2023 访问量:45
如何合并共享列上的数据帧字典 [duplicate]
How to merge dictionary of dataframes on shared column [duplicate]
问:
我有一本包含 7 个 t 统计值数据帧(针对不同临床站点)的字典,其中每个数据帧有两列,其中包含大约 100 个大脑 ROI 和该 ROI 的 t 统计值。我的目标是使用每个 t 统计值创建每个 ROI 的数据帧。
不过,在这篇文章中,为了简洁和健康信息,我将使用一个数据帧的示例字典来描述一些不同的东西。和。ROI = character
t-statistic = color_{}
我尝试将字典值传递到 with 中,并且我得到了我想要合并的共享列的重复列。pd.concat
join="inner"
之前 / 字典
In[1]: sega_df_dict
Out[1]:
{'generic': character color_generic
0 Sonic Blue
1 Tails Yellow
2 Knuckles Red
3 Amy Pink
4 Shadow Black
[5 rows x 2 columns],
'precise': character color_precise
0 Sonic Cobalt
1 Tails Gold
2 Knuckles Crimson
3 Amy Rose Gold
4 Shadow Ebony
[5 rows x 2 columns]
当前之后/结果
In[2]: sega_final_df = pd.concat(sega_df_dict.values(), axis=1, join="inner")
Out[2]:
character color_generic character color_precise
0 Sonic Blue Sonic Cobalt
1 Tails Yellow Tails Gold
2 Knuckles Red Knuckles Crimson
3 Amy Pink Amy Rose Gold
4 Shadow Black Shadow Ebony
期望的结果
In[3]: ...
Out[3]:
character color_generic color_precise
0 Sonic Blue Cobalt
1 Tails Yellow Gold
2 Knuckles Red Crimson
3 Amy Pink Rose Gold
4 Shadow Black Ebony
我是否必须重置索引或沿特定轴连接?
答:
1赞
Tranbi
10/25/2023
#1
你应该在'character'上合并,而不是加入你的dfs:
sega_final_df = reduce(lambda df1, df2: pd.merge(df1, df2,on=['character'],
how='inner'), sega_df_dict.values())
评论