经过一些分组后,我创建了一个具有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
一种使用pandas.concat()以下代码完成此操作的好方法:
pandas.concat()
import pandas as pd pd.concat([df], keys=['Foo'], names=['Firstlevel'])
甚至更短的方法:
pd.concat({'Foo': df}, names=['Firstlevel'])
这可以推广到许多数据框架,请参阅docs。