Anm*_*ngh 10 python multi-index pandas
我有一个Pandas数据框,它是MultiIndexed.第二级包含一年([2014,2015]),第三级包含月份数([1,2,...,12]).我想将这两者合并为一个单一的级别,如 - [1/2014,2/2014 ...,2015年6月].怎么可以这样做?
我是熊猫的新手.搜索了很多,但找不到任何类似的问题/解决方案.
编辑:我找到了一种避免必须完全解决这个问题的方法.我应该以这种方式创建我的数据框架.这似乎是DateTime索引的方法.
piR*_*red 16
考虑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
Run Code Online (Sandbox Code Playgroud)
如果列表代表我们想要的索引,我们希望将索引重新分配给索引.
我希望第一级相同
df.index.get_level_values(0)
Run Code Online (Sandbox Code Playgroud)我希望新的第二级是当前第二级和第三级的字符串连接,但是反转顺序
df.index.map('{0[2]}/{0[1]}'.format)
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)