使用python如何计算四分位/百分位&;提供创建新列进行分析的条件?
我有这样的数据:使用python如何计算四分位/百分位&;提供创建新列进行分析的条件?,python,pandas,numpy,percentile,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命令=百
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命令=百分位(数据编号,1/3)将给出43
和=百分位数(数据数,2/3)将为98
所以,我想在python中使用1/3和2/3百分位数
我想这样做
如果工人<=1/3%,则将百分位值定义为小
如果工人<=2/3%,则将百分位值定义为中等
如果工人>2/3百分位值将被定义为大
我不知道用python怎么做,我知道用excel
你能帮我用python解决这个问题吗?使用,只需更改级别顺序即可:
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
,它给了我一个错误:AttributeError:'DataFrame'对象没有属性'qcut',它是打字错误,
pd
notdf
我不知道它在哪里(对不起,pd.qcut
不是df.qcut
是的,没错。我删除了它,因为所有的熊猫代码都需要它;)