简体   繁体   English

在 Pandas 中从多索引恢复到单索引数据帧

[英]Reverting from multiindex to single index dataframe in 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

In the dataframe above, I have a multilevel index consisting of the columns:在上面的数据框中,我有一个由列组成的多级索引:

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

How do I revert to a dataframe with 'datetime' as index and 'YEAR' and 'MONTH' as normal columns?如何恢复到以“datetime”为索引、以“YEAR”和“MONTH”为普通列的数据框?

pass level=[0,1] to just reset those levels:通过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

you can pass the label names alternatively:您也可以传递标签名称:

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

Another simple way would be to set columns for dataframe另一种简单的方法是为数据框设置列

consolidated_data.columns=country_master

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM