小编典典

为熊猫MultiIndex设置一个级别

python

经过一些分组后,我创建了一个具有MultiIndex的DataFrame:

import numpy as np
import pandas as p
from numpy.random import randn

df = p.DataFrame({
    'A' : ['a1', 'a1', 'a2', 'a3']
  , 'B' : ['b1', 'b2', 'b3', 'b4']
  , 'Vals' : randn(4)
}).groupby(['A', 'B']).sum()

df

Output>            Vals
Output> A  B           
Output> a1 b1 -1.632460
Output>    b2  0.596027
Output> a2 b3 -0.619130
Output> a3 b4 -0.002009

如何在MultiIndex前面添加一个级别,以便将其转换为类似以下内容:

Output>                       Vals
Output> FirstLevel A  B           
Output> Foo        a1 b1 -1.632460
Output>               b2  0.596027
Output>            a2 b3 -0.619130
Output>            a3 b4 -0.002009

阅读 136

收藏
2020-12-20

共1个答案

小编典典

一种使用pandas.concat()以下代码完成此操作的好方法:

import pandas as pd

pd.concat([df], keys=['Foo'], names=['Firstlevel'])

甚至更短的方法:

pd.concat({'Foo': df}, names=['Firstlevel'])

这可以推广到许多数据框架,请参阅docs

2020-12-20