【问题标题】:How get loc from the multiindex dataframe如何从多索引数据框中获取 loc
【发布时间】:2023-03-27 06:36:01
【问题描述】:

我的数据框来自 groupby 在下面

                             QTY
Store_type      prod_cat    

Flagship        Bags        2726
                Books       14766
                Clothing    5844
                Electronics 9950
MBR             Bags        2936
                Books       14868
                Clothing    6198
                Footwear    6105
TeleShop        Bags        2854
                Books       13836
  • Q1:如何从旗舰店获取“书籍”和“服装”分类
  • Q2:如何获取每家店铺销售数量>5000的品类

预期结果 第一季度

Flagship Books  14766
         Clothing   5844

第二季度

Flagship        Books       14766
                Clothing    5844
                Electronics 9950
MBR             Books       14868
                Clothing    6198
                Footwear    6105
TeleShop        Books       13836

【问题讨论】:

  • 能否请您在您的问题中发布预期的输出,然后让我们知道。
  • @RavinderSingh13 发布了预期结果

标签: pandas


【解决方案1】:

DataFrame.loc 与元组列表一起使用:

df1 = df.loc[[('Flagship','Books'), ('Flagship','Clothing')]]

DataFrame.query:

df1 = df.query("Store_type == 'Flagship' & prod_cat in ['Books','Clothing']")

print (df1)
                       QTY
Store_type prod_cat       
Flagship   Books     14766
           Clothing   5844

过滤使用boolean indexing:

df2 = df[df['QTY'] > 5000]
#alternative
#df2 = df.query("QTY > 5000")
print (df2)
                          QTY
Store_type prod_cat          
Flagship   Books        14766
           Clothing      5844
           Electronics   9950
MBR        Books        14868
           Clothing      6198
           Footwear      6105
TeleShop   Books        13836

【讨论】:

    【解决方案2】:

    对于问题 1,您也可以使用 locaxis 选项

    df.loc(axis=0)['Flagship', ['Books','Clothing']]
    
    
                           qty
    Store_type prod_cat
    Flagship   Books     14766
               Clothing   5844
    

    关于问题 2,只需 df[df['QTY'] > 5000]。这已经是最直接的方式了..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-29
      • 2017-02-20
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2021-10-03
      • 2018-08-04
      • 1970-01-01
      相关资源
      最近更新 更多