我有以下两种数据帧结构:
roc_100
max min
industry Banks Health Banks Health
date
2015-03-15 3456 456 345 567
2015-03-16 6576 565 435 677
2015-03-17 5478 657 245 123
以及:
roc_100
max min
date
2015-03-15 546 7856
2015-03-16 677 456
2015-03-17 3546 346
可以看出,这两个数据帧之间的区别在于,最底层的数据帧没有“行业”。但数据帧结构的其余部分是相同的,即:它的左边也有日期,并按roc\u100分组,下面是max和min
我需要做的是将底部数据框中的列添加到顶部数据框中,并为添加的列指定一个行业名称,例如:“benchmark”。结果数据帧应如下所示:
roc_100
max min
industry Banks Health Benchmark Banks Health Benchmark
date
2015-03-15 3456 456 546 345 567 7856
2015-03-16 6576 565 677 435 677 456
2015-03-17 5478 657 3546 245 123 346
我尝试过使用append和join,但到目前为止这两个选项都不起作用,因为一个数据帧有一个'industry',而另一个没有
编辑:
我已成功地使用以下方法将它们正确合并:
industry_df = industry_df.merge(benchmark_df, how='inner', left_index=True, right_index=True)
现在唯一的问题是,新增加的栏目仍然没有“行业”
这意味着如果我只想要一个行业,例如:健康,那么我可以做:
print(industry_df['roc_100', 'max', 'Health'])
这是可行的,但如果我想打印所有的行业,包括新增加的专栏,我不能这样做。如果我尝试:
print(industry_df['roc_100', 'max'])
这只打印出新添加的列,因为它们是唯一没有“行业”的列。有没有办法给这些新合并的列起个名字(“industry”)
您可以使用stack()和unstack()将两个数据帧带到以行业为列的相同索引结构中。然后指定新的基准列。最后一步-通过相同的stack()和unstack()还原初始索引/列结构
相关问题 更多 >
编程相关推荐