Вы можете вычесть 1/n
, затем нормализовать на (n-1)/n
(где n
- количество элементов в столбце).
Код для вашего дела,
d = {'col1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]}
df = pd.DataFrame(d)
count = df.count()[0]
(df.rank(pct=True) - 1/count) * count/(count-1)
Выше кода дает,
col1
0 0.0
1 0.1
2 0.2
3 0.3
4 0.4
5 0.5
6 0.6
7 0.7
8 0.8
9 0.9
10 1.0