繁体   English   中英

具有非唯一值的带有 groupby 的 Pandas qcut

[英]Pandas qcut with groupby with non-unique values

我正在尝试对 Pandas 数据框进行分组,并在该分组上进行 qcut,以对分位数上的值进行分类。 问题是有些组只有一个值,所以 qcut 会抱怨ValueError: Bin edges must be unique 有没有办法简单地忽略 groupby 和 qcut 上的这些情况?

我正在做类似的事情

df['quantile'] = df.groupby(['grouping'])['values'].transform(
                 lambda x: pd.qcut(x, 4))

我可以在两级分组上这样做

pd.qcut(df.groupby(['grouping', 'param1']).sum()['value'],[0.15,0.25,0.5,0.75,1.0], labels=['0.15', '0.25', '0.5', '0.75'])

但我不确定结果是每个组内参数grouping或整个数据帧的分位数。

在qcut 方法中,您可以设置duplicates='drop'。 这应该会为 qcut 转换生成少量空值,您可以决定将其归入您希望的任何值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM