Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python如何计算四分位/百分位&;提供创建新列进行分析的条件?_Python_Pandas_Numpy_Percentile - Fatal编程技术网

使用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
not
df
我不知道它在哪里(对不起,
pd.qcut
不是
df.qcut
是的,没错。我删除了它,因为所有的熊猫代码都需要它;)