将 3 个数据集合并在一起
Posted
技术标签:
【中文标题】将 3 个数据集合并在一起【英文标题】:Merging 3 datasets together 【发布时间】:2020-05-07 02:11:42 【问题描述】:我需要将 3 个数据集 (csv.) 合并在一起以制作动态图表。 它们都以国家为列,以年份为行。
其他两个数据集看起来相同,除了一个是人口,另一个是收入。我试着环顾四周,看看我能找到什么来得到我想要的数据,但似乎找不到任何东西。
我尝试使用 pd.concat,但它只是一个接一个地列出,而不是在单独的列中。
合并所有 3 个数据集以准备使用 pd.concat 制作动态图
mc_data = pd.concat([df2, pop_data3, income_data3], sort = True)
任何形式的帮助将不胜感激
编辑:我按照建议使用了代码,但是我得到了一堆不应该存在的 NaN 值
mc_data = pd.concat([df2, pop_data3, income_data3], axis = 1, keys = ['df2', 'pop_data3', 'income_data3'])
EDIT2:当我在它们上运行 .info 和 .index 时,我得到了这些结果。可能与数据类型有关吗?还是列条目?
【问题讨论】:
【参考方案1】:来自this answer:
您可以使用concat
来做到这一点(keys
参数将创建分层列索引):
pd.concat([df2, pop_data3, income_data3], axis=1, keys=['df2', 'pop_data3', 'income_data3'])
【讨论】:
这有效,但我现在有不应该存在的 NaN 值 这意味着数据集不包含那些年份的值。例如df2
没有年份 1970 -1974,income_data3
没有年份 2011-2015。
确实如此,当我在合并之前查看 df2 时,它具有 1970 年至 2015 年每年每个国家/地区的值
打印什么df2.info()
、df2.index
、income_data3.info()
、income_data3.index
?
我在原始问题的输出中添加了一个屏幕截图,它可能是影响它的数据类型吗?还是列?以上是关于将 3 个数据集合并在一起的主要内容,如果未能解决你的问题,请参考以下文章