pandas 和 numpy中都有計算分位數(shù)的方法,pandas中是quantile,numpy中是percentile
兩個方法其實沒什么區(qū)別,用法上稍微不同,quantile的優(yōu)點是與pandas中的groupby結(jié)合使用,可以分組之后取每個組的某分位數(shù)
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%的分位數(shù)
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)
兩段代碼,兩種方法計算的結(jié)果是一樣的