pd.qcut-ValueError: 斌边必须是唯一的[英] pd.qcut - ValueError: Bin edges must be unique

本文是小编为大家收集整理的关于pd.qcut-ValueError: 斌边必须是唯一的的处理方法,想解了pd.qcut-ValueError: 斌边必须是唯一的的问题怎么解决?pd.qcut-ValueError: 斌边必须是唯一的问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我的数据在这里.

q = pd.qcut(df['loss_percent'], 10)

ValueError: Bin edges must be unique: array([ 0.38461538,  0.38461538,  0.46153846,  0.46153846,  0.53846154,
        0.53846154,  0.53846154,  0.61538462,  0.69230769,  0.76923077,  1.        ])

我已阅读 为什么使用-pandas-qcut-return-valueerror,但是我仍然很困惑.

我想我的一个价值观出现的频率很高,那就是打破 qcut.

首先,步骤是我如何确定是否确实如此,以及哪个值是问题所在.最后,根据我的数据,什么样的解决方案是合适的.

推荐答案

使用帖子中的解决方案 https://stackoverflow.com/a/36883735/2336654

def pct_rank_qcut(series, n):
    edges = pd.Series([float(i) / n for i in range(n + 1)])
    f = lambda x: (edges >= x).argmax()
    return series.rank(pct=1).apply(f)

q = pct_rank_qcut(df.loss_percent, 10)

本文地址:https://www.itbaoku.cn/post/1727755.html