首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何基于python/大熊猫中的一个公共列合并多个(6)数据?

如何基于python/大熊猫中的一个公共列合并多个(6)数据?
EN

Stack Overflow用户
提问于 2022-07-10 00:18:35
回答 1查看 61关注 0票数 0

在我开始之前,我已经找到了类似的问题,并尝试了相应的答案,然而,我仍然遇到了一个问题,我不知道为什么。

我有6个数据帧。我想要一个结果数据框架,根据它们的共同索引列国家,将所有这6合并为一个。需要注意的是:数据帧有不同的行数,有些国家的数据帧没有相应的值,导致NaN。

以下是我尝试过的:

代码语言:javascript
复制
data_frames = [WorldPopulation_df, WorldEconomy_df, WorldEducation_df, WorldAggression_df, WorldCorruption_df, WorldCyberCapabilities_df]
df_merged = reduce(lambda left,right: pd.merge(left,right,on=['Country'], how = 'outer'), data_frames)

当最终的结果数据帧将错误的值与错误的国家配对时,这是行不通的。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-10 01:01:37

让我们看看,当您从键中添加新列时,使用"pd.merge“。如果您有6个列数相同的数据文件,按照相同的顺序,您可以尝试如下:

代码语言:javascript
复制
columns_order = ['country', 'column_1']
concat_ = pd.concat(
    [data_1[columns_order], data_2[columns_order], data_3[columns_order], 
     data_4[columns_order], data_5[columns_order], data_6[columns_order]],
    ignore_index=True,
    axis=0
)

从这里开始,如果您想要"country“列的单个值,可以将组by应用到它:

代码语言:javascript
复制
concat_.groupby(by=['country']).agg({'column_1': max}).reset_index()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72925436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档