[英]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.