我有这样的数据:
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 。
所以,我想在 python 中使用 1/3 和 2/3 百分位数,
我想做这样的标准
如果 worker < = 1/3 百分位值将被定义为小
如果 worker <=2/3 百分位值将被定义为中等
IF 工作人员 > 2/3 百分位值将定义为“大”
我不知道如何在Python中执行此操作,我知道使用Excel。
你能帮我解决这个问题吗?
最佳答案
使用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
关于python - 使用python如何计算四分位数/百分位数并给出创建新列进行分析的标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262938/