Dataframe Percentile计算从0到100

时间:2018-04-06 09:05:49

标签: python pandas dataframe percentile

我需要计算数据框中值的百分位数。计算百分位数的最接近的方法是使用pandas.DataFrame.rank(pct = True)(Calculate percentile for every value in a column of dataframe)。但是,该方法不会让我从第0百分位开始:

num = pd.DataFrame([3,5,6,8])
num.rank(pct=True)
      0
0  0.25
1  0.50
2  0.75
3  1.00

有没有更好的方法来获得这样的东西,从第0百分位到第100百分位:

      0
0  0.00
1  0.33
2  0.66
3  1.00

提前致谢。

1 个答案:

答案 0 :(得分:0)

因此,您希望将分配给0百分位数的最低排名值和分配给100百分位数的最高排名值,以及根据其排名分配百分位数的所有其他值。 以下代码实现了:

ranks = num.rank()
(ranks - ranks.min())/(ranks.max() - ranks.min())