使用python如何计算四分位数/百分位数&给出了创建新分析列的标准?

时间:2017-05-30 12:57:56

标签: python pandas numpy percentile

我有这样的数据:

Village     Workers
Takali      127
Dhokari     84
Aagar       10
Gardhani    122
Khanapur    65
Ambikanagar 45
Pi.Khand    120
Pangri      105
Dhagewadi   32
Sherewadi   34
Shindwad    42

我想创建一个新列,我必须使用百分位数方法定义小,中,大级别。

例如:使用excel命令= PERCENTILE(数据编号,1/3)将给出43,

和= PERCENTILE(数据编号,2/3)将给出98。

所以,我想用1/3& python中的2/3百分位,

我想做像

这样的标准

如果工人< = 1/3百分位数值将定义为小

如果工人< = 2/3百分位值将定义为中等

IF Workers> 2/3 Percentile值将定义为Large

我不知道如何在python中这样做,我知道使用excel。

enter image description here

enter image description here

你能帮我解决一下如何在python中解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

使用qcut,只需更改级别的顺序:

import pandas as pd 

df['level'] = pd.qcut(df['Workers'], 3, ['Small','Medium','Large'])
print (df)
        Village  Workers   level
0        Takali      127   Large
1       Dhokari       84  Medium
2         Aagar       10   Small
3      Gardhani      122   Large
4      Khanapur       65  Medium
5   Ambikanagar       45  Medium
6      Pi.Khand      120   Large
7        Pangri      105   Large
8     Dhagewadi       32   Small
9     Sherewadi       34   Small
10     Shindwad       42   Small