从pandas中的multiindex恢复到单个索引数据帧

时间:2015-10-04 20:30:11

标签: python pandas

                       NI
YEAR MONTH datetime        
2000 1     2000-01-01   NaN
           2000-01-02   NaN
           2000-01-03   NaN
           2000-01-04   NaN
           2000-01-05   NaN

在上面的数据框中,我有一个由列组成的多级索引:

names=[u'YEAR', u'MONTH', u'datetime']

如何使用' datetime'恢复到数据框?作为索引和'年份'和' MONTH'像普通列一样?

2 个答案:

答案 0 :(得分:26)

传递level=[0,1]以重置这些级别:

dist_df = dist_df.reset_index(level=[0,1])

In [28]:
df.reset_index(level=[0,1])

Out[28]:
            YEAR  MONTH  NI
datetime                     
2000-01-01  2000      1   NaN
2000-01-02  2000      1   NaN
2000-01-03  2000      1   NaN
2000-01-04  2000      1   NaN
2000-01-05  2000      1   NaN

您可以选择性地传递标签名称:

df.reset_index(level=['YEAR','MONTH'])

答案 1 :(得分:0)

另一种简单的方法是为数据框设置列

consolidated_data.columns=country_master

ref:https://riptutorial.com/pandas/example/18695/how-to-change-multiindex-columns-to-standard-columns