python计算分位数

pandas 和 numpy中都有计算分位数的方法,pandas中是quantile,numpy中是percentile

两个方法其实没什么区别,用法上稍微不同,quantile的优点是与pandas中的groupby结合使用,可以分组之后取每个组的某分位数

quantile代码:

import pandas as pd
import numpy as np
data = pd.read_csv('order_rank_p_0409.txt',sep='\t')
#将data按id_1 和 id_2 分组
grouped=data.groupby(['id_1','id_2'])
#用quantile计算第40%的分位数
grouped['gmv'].quantile(0.4) 
#用to_csv生成文件
x.to_csv('order_ran_re.txt',sep= '\t')

percentile代码:


import pandas as pd
import numpy as np
data = pd.read_csv('order_rank_p_0409.txt',sep='\t')
a = array(data['gmv'])
np.percentile(a,0.4)

两段代码,两种方法计算的结果是一样的

    原文作者:wangminglei3
    原文地址: https://www.jianshu.com/p/af97f698694c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞