📜  Pandas-Python 中列的分位数和分位数排名

📅  最后修改于: 2022-05-13 01:54:29.245000             🧑  作者: Mango

Pandas-Python 中列的分位数和分位数排名

让我们看看如何在 Pandas 中找到列的分位数和十分位数。我们将使用pandas模块的qcut()函数。

熊猫.qcut()

Pandas 库的函数qcut()是一个基于分位数的离散化函数。这意味着它将变量离散到基于等级或基于样本分位数的大小相等的桶中。

分位数等级

算法 :

  1. 导入pandasnumpy模块。
  2. 创建一个数据框。
  3. 使用pandas.qcut()函数,通过Score列,计算分位数离散化。并且q设置为 4,因此从 0-3 分配值
  4. 打印具有分位数等级的数据框。
# importing the modules
import pandas as pd
import numpy as np
    
# creating a DataFrame
df = {'Name' : ['Amit', 'Darren', 'Cody', 'Drew',
                'Ravi', 'Donald', 'Amy'],
      'Score' : [50, 71, 87, 95, 63, 32, 80]}
df = pd.DataFrame(df, columns = ['Name', 'Score'])
  
# adding Quantile_rank column to the DataFrame
df['Quantile_rank'] = pd.qcut(df['Score'], 4,
                               labels = False)
  
# printing the DataFrame
print(df)

输出 :

等分等级

算法 :

  1. 导入pandasnumpy模块。
  2. 创建一个数据框。
  3. 使用pandas.qcut()函数,通过Score列,计算分位数离散化。并且q设置为 10,因此从 0-9 分配值
  4. 打印具有十分位数等级的数据框。
# importing the modules
import pandas as pd
import numpy as np
    
# creating a DataFrame
df = {'Name' : ['Amit', 'Darren', 'Cody', 'Drew',
                'Ravi', 'Donald', 'Amy'],
      'Score' : [50, 71, 87, 95, 63, 32, 80]}
df = pd.DataFrame(df, columns = ['Name', 'Score'])
  
# adding Decile_rank column to the DataFrame
df['Decile_rank'] = pd.qcut(df['Score'], 10,
                            labels = False)
  
# printing the DataFrame
print(df)

输出 :