You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas中groupby后用.loc访问多级索引触发KeyError问题求助

问题描述

执行groupby操作得到多级索引结果后,使用.loc访问指定索引值时触发KeyError错误。

代码示例

import numpy as np
import pandas as pd
retail = pd.read_csv('online_retail2.csv')

retail.groupby(['Country','Description'])['Quantity','Price'].agg([np.mean,max])
retail.loc[('Australia','DOLLY GIRL BEAKER'),('Quantity','mean')]

groupby输出结果

Quantity      Price      
                                                  mean  max  mean   max
Country     Description                                                
Australia    DOLLY GIRL BEAKER                   200.0  200  1.08  1.08
             I LOVE LONDON MINI BACKPACK           4.0    4  4.15  4.15
            10 COLOUR SPACEBOY PEN                48.0   48  0.85  0.85
            12 PENCIL SMALL TUBE WOODLAND        384.0  384  0.55  0.55
            12 PENCILS SMALL TUBE RED SPOTTY      24.0   24  0.65  0.65
                                               ...  ...   ...   ...
West Indies VINTAGE BEAD PINK SCARF                3.0    3  7.95  7.95
            WHITE AND BLUE CERAMIC OIL BURNER      6.0    6  1.25  1.25
            WOODLAND PARTY BAG + STICKER SET       1.0    1  1.65  1.65
            WOVEN BERRIES CUSHION COVER            2.0    2  4.95  4.95
            WOVEN FROST CUSHION COVER              2.0    2  4.95  4.95

[30696 rows x 4 columns]

错误信息

KeyError: "None of [Index(['Australia', 'DOLLY GIRL BEAKER'], dtype='object')] are in the [index]"
问题原因与解决方法
  • 核心问题:你执行groupby后没有把结果保存到变量,而是直接在原DataFrameretail上调用.loc。原DataFrame的索引不是多级索引,根本不存在('Australia','DOLLY GIRL BEAKER')这个索引值,所以报错。
  • 解决方法:
    1. 将groupby的结果赋值给新变量:
      retail_grouped = retail.groupby(['Country','Description'])['Quantity','Price'].agg([np.mean,max])
      
    2. 用.loc访问这个新变量:
      retail_grouped.loc[('Australia','DOLLY GIRL BEAKER'),('Quantity','mean')]
      
  • 替代方案:如果不想创建新变量,可以直接链式调用,确保.loc作用在groupby的结果上:
    retail.groupby(['Country','Description'])['Quantity','Price'].agg([np.mean,max]).loc[('Australia','DOLLY GIRL BEAKER'),('Quantity','mean')]
    

内容的提问来源于stack exchange,提问作者Ehab Helmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:35:37