我有一个多索引pandas数据帧,我想从第一级索引中选择所有值(此处表示为 x 和第二级的特定索引,这里是它的平均值分组后的.describe()函数。
df.groupby(df1.series).describe().loc[*x*,'mean']
我该怎么做?
由于
答案 0 :(得分:2)
您可以使用元组选择:
df = pd.DataFrame({'x':[4,5,7,6,10], 'series':list('xxxyy')})
b = df.x.groupby(df.series).describe().stack()
print (b)
series
x count 3.000000
mean 5.333333
std 1.527525
min 4.000000
25% 4.500000
50% 5.000000
75% 6.000000
max 7.000000
y count 2.000000
mean 8.000000
std 2.828427
min 6.000000
25% 7.000000
50% 8.000000
75% 9.000000
max 10.000000
dtype: float64
c = b.loc[('x','mean')]
print (c)
5.33333333333
如果想要所有方法都使用xs
:
c = b.xs('mean', level=1)
print (c)
series
x 5.333333
y 8.000000
dtype: float64