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显示错误的输出