【问题标题】:Pandas .loc on multindex only 2nd level多索引上的 Pandas .loc 仅 2 级
【发布时间】:2017-10-31 23:19:10
【问题描述】:

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

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

我该怎么做?

谢谢

【问题讨论】:

标签: python-3.x pandas dataframe


【解决方案1】:

您可以使用元组进行选择:

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

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 2017-03-11
    • 2018-07-09
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2015-11-04
    相关资源
    最近更新 更多