pd.qcut - ValueError: Bin edges must be unique

pd.qcut - ValueError: Bin edges must be unique

我的数据是here.

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.        ])

我已经通读了,但是我还是一头雾水。

我想我的价值观之一出现频率很高,那就是破坏 qcut。

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

使用 post

中的解决方案
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)