2017-07-27 46 views
1

我有以下的數據幀計算百分添加到現有的數據幀

univ date  ms 
A  11/01/2007 0.2 
A  11/02/2007 0.3 
B  11/01/2007 0.4 
B  11/01/2007 0.5 

我所試圖做的是通過大學來計算百分位,然後添加到現有的數據幀由值各大學作爲一個額外的列ms_perc_rank

我能夠做這個

df.groupby('univ')['ms'].quantile(0.2) 

回答

1

一般計算由大學百分位,使用transform分配groupby個結果到原始數據幀:

df['ms_perc_rank'] = df.groupby('univ')['ms'].transform('quantile', 0.2) 

輸出結果:

univ  date ms ms_perc_rank 
0 A 11/01/2007 0.2   0.22 
1 A 11/02/2007 0.3   0.22 
2 B 11/01/2007 0.4   0.42 
3 B 11/01/2007 0.5   0.42