python计算人口增长率_python – 计算相对于给定人口的百分位数等级

我有“参考人口”(例如,v = np.random.rand(100)),我想计算给定集合的百分位数等级(比如,np.array([0.3,0.5,0.7])).

逐个计算很容易:

def percentile_rank(x):

return (v

percentile_rank(0.4)

=> 0.4

np.vectorize(percentile_rank)(np.array([0.3, 0.5, 0.7]))

=> [ 0.33 0.48 0.71]

这会产生预期的结果,但我觉得应该有一个内置的.

我也可以作弊:

pd.concat([pd.Series([0.3, 0.5, 0.7]),pd.Series(v)],ignore_index=True).rank(pct=True).loc[0:2]

0 0.330097

1 0.485437

2 0.718447

这有两个方面很糟糕:

>我不希望测试数据[0.3,0.5,0.7]成为排名的一部分.

>我不想浪费时间计算参考人口的排名.

那么,实现这一目标的惯用方法是什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值