我有一个多索引的 Pandas 数据框。第二级包含年份 ([2014,2015]),第三级包含月份编号 ([1, 2, .., 12])。我想将这两个合并为一个级别,例如 - [1/2014, 2/2014 ..., 6/2015]。这怎么可能做到呢?
我是熊猫新手。搜索了很多但找不到任何类似的问题/解决方案。
编辑:我找到了一种方法来避免与答案一起这样做这个问题 https://stackoverflow.com/questions/24090710/pandas-convert-dataframe-multi-index-to-datetime-object。我应该以这种方式创建我的数据框。这似乎是按日期时间建立索引的方法。
考虑pd.MultiIndex
and pd.DataFrame
, mux
and 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)