将 MultiIndex 转换为 Pandas 列

亚历克斯

我想知道如何在熊猫数据框中执行以下转换。我不知道如何解决这个问题。这个想法是采用索引级别 0 并将其设置为级别 0 列,其余列放入适当的主列

初始数据框

最终数据框

斯科特波士顿

set_index尝试使用和重塑数据unstackswaplevel

df_out = df.set_index(df.groupby(level=0).cumcount()+1, append=True)\
           .reset_index(level=1)\
           .rename(columns={'level_1':'ident'})\
           .unstack(0)\
           .swaplevel(0,1, axis=1)\
           .sort_index(axis=1)
df_out

输出:

          A                        B                         C                 
       city ident population    city ident population     city ident population
1        NY     1      57578  London     4     543534   Berlin     7    5257537
2        LA     2    8767867   Paris     5      25725   Madrid     8      53755
3  Valencia     3    8767678  Beijin     6     275275  Belfast     9     354354

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章