gpt4 book ai didi

python - pandas 中按组排名前 X%

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:00 25 4
gpt4 key购买 nike

我有一些机器及其在不同组中的销售情况,例如机器时代。我的目标是隔离每个组中前 5% 的机器(销售额)。

我设法使用以下代码在完整数据帧上执行此操作

df['quantile'] = pd.qcut(df.Sales, 20, labels=range(20))
top = df[df['quantile']==0]

但在使用 groupby 时,我似乎无法做到同样的事情。本质上,分配不起作用。有什么线索吗?

最佳答案

您可以执行 groupby.transformquantile:

df = pd.DataFrame({'a': np.random.randint(1,4,1000),
'Sales': np.random.uniform(0,1,1000)})
df['quantile'] = df.groupby('a').Sales.transform('quantile', 0.95)

#filter:
top = df[df.Sales.gt(df['quantile'])]

关于python - pandas 中按组排名前 X%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56807645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com