有没有直接的方法,可以为pandas系列中的每个值分配百分位数?
我通过排名和重新缩放来实现这种计算,就像这里所示:
values = pd.Series(np.random.normal(0,1,100))
percentiles = values.rank()/values.shape
例如,序列:
[0,2,4,2,10,8,6,1]
,应该得到百分位数:[0.125, 0.4375, 0.625, 0.4375, 1.0, 0.875, 0.75, 0.25]
。然而,我很惊讶于没有本地解决方案(如qcut
,quantile
等)。是否存在明确的计算方法?