我有一个Pandas数据框,它是MultiIndexed.第二级包含一年([2014,2015]),第三级包含月份数([1,2,…,12]).我想将这两者合并为一个单一的级别,如 – [1/2014,2/2014 …,2015年6月].怎么可以这样做?
我是熊猫的新手.搜索了很多,但找不到任何类似的问题/解决方案.
编辑:我找到了一种方法来避免与this question的答案一起完全这样做.我应该一直在创建我的数据框.这似乎是DateTime索引的方法.
解决方法:
考虑pd.MultiIndex和pd.DataFrame,mux和df
mux = pd.MultiIndex.from_product([list('ab'), [2014, 2015], range(1, 3)])
df = pd.DataFrame(dict(A=1), mux)
print(df)
A
a 2014 1 1
2 1
2015 1 1
2 1
b 2014 1 1
2 1
2015 1 1
2 1
如果列表代表我们想要的索引,我们希望将索引重新分配给索引.
>我希望第一级保持不变
df.index.get_level_values(0)
>我希望新的第二级是当前第二级和第三级的字符串连接,但是反转顺序
df.index.map('{0[2]}/{0[1]}'.format)
df.index = [df.index.get_level_values(0), df.index.map('{0[2]}/{0[1]}'.format)]
print(df)
A
a 1/2014 1
2/2014 1
1/2015 1
2/2015 1
b 1/2014 1
2/2014 1
1/2015 1
2/2015 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。