Pandas .loc在multindex上只有2级

时间:2017-10-31 15:13:10

标签: python-3.x pandas dataframe

我有一个多索引pandas数据帧,我想从第一级索引中选择所有值(此处表示为 x 和第二级的特定索引,这里是它的平均值分组后的.describe()函数。

df.groupby(df1.series).describe().loc[*x*,'mean']

我该怎么做?

由于

1 个答案:

答案 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