将 MultiIndex 转换为列 Pandas
Convert MultiIndex into columns Pandas
我想知道如何在 pandas 数据框中执行以下转换。我不知道如何解决这个问题。这个想法是采用索引级别 0 并将其设置为级别 0 列,其余列放入适当的主列
尝试使用 set_index
、unstack
和 swaplevel
重塑数据框:
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
我想知道如何在 pandas 数据框中执行以下转换。我不知道如何解决这个问题。这个想法是采用索引级别 0 并将其设置为级别 0 列,其余列放入适当的主列
尝试使用 set_index
、unstack
和 swaplevel
重塑数据框:
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