【发布时间】:2021-03-15 07:14:28
【问题描述】:
我需要为我的行设置索引,当我这样做时,pandas 会自动使我的列索引分层..然后我尝试了我可以搜索的每一个扁平化方法,但是一旦我 reset_index,我的行索引被替换为iloc(整数)。如果我使用 df.columns = [ my col index name],它根本不会展平我的列索引..
我以 pandas 官方文档为例
df = pd.DataFrame({'month': [1, 4, 7, 10],
'year': [2012, 2014, 2013, 2014],
'sale': [55, 40, 84, 31]})
df.set_index('month')
我明白了
year sale
month
1 2012 55
4 2014 40
7 2013 84
10 2014 31
然后我将索引展平
df.reset_index()
然后就变成了
index month year sale
0 0 1 2012 55
1 1 4 2014 40
2 2 7 2013 84
3 3 10 2014 31
(行索引的月份消失了...) 这真的要了我的命,所以如果有人可以帮助制作数据框,我将不胜感激
month year sale
1 2012 55
4 2014 40
7 2013 84
10 2014 31
谢谢!
【问题讨论】:
-
我不想要多索引...但我认为它是在我使用 set_index() 时自动创建的?
-
在这个例子中我需要按月自定义我的行索引
-
那么需要
df = df.set_index('month').rename_axis(index=None, columns='month')吗? -
!!!!这是正确的!怎么会!非常感谢
-
但是,当我尝试 df.index.name 它给我 None (应该是“月”)?我仍然认为它与扁平化有关..
标签: pandas dataframe multi-index hierarchical