2022年 11月 4日

python计算分位数

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')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6