繁体   English   中英

将熊猫数据框的特定行转换为多索引

[英]convert specific rows of pandas dataframe into multiindex

这是我的DataFrame:

          0     1        2
0 0      0.0  20.0      NaN
  1      1.0  21.0      NaN
  2      2.0  22.0      NaN
  ID     NaN   NaN  11111.0
  Year   NaN   NaN   2011.0
1 0      3.0  23.0      NaN
  1      4.0  24.0      NaN
  2      5.0  25.0      NaN
  3      6.0  26.0      NaN
  ID     NaN   NaN  11111.0
  Year   NaN   NaN   2012.0

我想将“ ID”和“年”行转换为数据框索引,其中“ ID”为级别= 0,而“年”为级别= 1。 我尝试使用stack(),但仍然找不到它。

编辑:我想要的输出应如下所示:

                      0     1 
  11111  2011 0      0.0  20.0
              1      1.0  21.0
              2      2.0  22.0
         2012 0      3.0  23.0
              1      4.0  24.0
              2      5.0  25.0
              3      6.0  26.0 

这应该工作:

df1 = df.loc[pd.IndexSlice[:, ['ID', 'Year']], '2']
dfs = df1.unstack()
dfi = df1.index
dfn = df.drop(dfi).drop('2', axis=1).unstack()

dfn.set_index([dfs.ID, dfs.Year]).stack()

在此处输入图片说明

暂无
暂无

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

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