强制qcut分解为等概率组

2024-09-29 23:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下数据:

s = pd.Series([1, 1, 1, 2])
pd.qcut(s, 2, labels=False)

我想得到等概率群,即[0, 0, 1, 1]。相反,qcut可以引发异常或返回[0, 0, 0, 0](取决于duplicates-kwarg)

我通过稍微干扰数据得到了等概率群,即:

def my_qcut(s, *args, **kwargs):
    disturbed = np.array(s) + np.random.rand(len(s)) / 1000
    return pd.qcut(disturbed, *args, **kwargs)

虽然这看起来很管用,但我觉得这太老套了。有没有人能给我一些建议,让我用确定性的方法来分裂成等概率群


Tags: 数据falselabelsmydefnpargs概率

热门问题