Pandas groupby top5 产品

Posted

技术标签:

【中文标题】Pandas groupby top5 产品【英文标题】:Pandas groupby top5 products 【发布时间】:2021-07-11 02:10:51 【问题描述】:

我正在尝试“从类别中接收 top5 产品”。

import panda as pd
gg=pd.read_excel(product.xlsx)
gg.groupby(['Category','Product'])['Sale'].sum().sort_values(by='sum', ascending=False).head(5) 

【问题讨论】:

但此代码从所有表中获得了前 5 个类别/产品。我应该使用什么 groupby ??? 不是将数据发布为图像/屏幕截图,而是将数据发布为文本,以便我们可以重现您的数据框 我们无法从图片中复制数据,建议将您的数据添加为文本。 【参考方案1】:

示例数据:


df = pd.DataFrame(data='Category': np.random.choice(['TV', 'Phone', 'Computer'], size=n),
                        'Product': np.random.randint(low=100, high=1000, size=n),
                        'Sales': np.random.randint(low=10, high=10000, size=n))

那么,我们可以使用nlargest系列方法来获取你要找的东西:

df.set_index(['Category','Product']).Sales.groupby('Category',group_keys=False).nlargest(3)

Category  Product
Computer  565        9997
          992        9739
          773        9060
Phone     242        9720
          300        9380
          744        9297
TV        891        9271
          552        9264
          752        9030
Name: Sales, dtype: int64

【讨论】:

我看到我进入了前 3 而不是前 5 - 只需将 3 更改为 5。这对你有用吗? @Alexosipov 随时接受关闭答案。

以上是关于Pandas groupby top5 产品的主要内容,如果未能解决你的问题,请参考以下文章

Python pandas groupby sum显示错误的输出

pandas GroupBy 绘制每个组

熊猫:来自 groupby.value_counts() 的字典

将 pandas GroupBy 中的列值聚合为 dict

Python、Pandas:GroupBy 属性文档

pandas如何对value列数据进行分组groupby?