Python计算分位数
- 1、datafram使用quantile函数
- 2、array使用percentile函数
- pandas 和 numpy中都有计算分位数的方法,pandas中是quantile,numpy中是percentile
- 两个方法其实没什么区别,用法上稍微不同,quantile的优点是与pandas中的groupby结合使用,可以分组之后取每个组的某分位数
1、datafram使用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')
2、array使用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)