Pandas-Python中某一列的量化和十进制排名

Pandas-Python中某一列的量化和十进制排名

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

pandas.qcut()

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

语法 : pandas.qcut(x, q, labels=None, retbins: bool = False, precision: int = 3, duplicates: str = ‘raise’)

参数 :

  • x : 1d ndarray或系列。
  • q :数量级的数目。例如,10指的是十分位数,4指的是定量位数。
  • labels : 用来作为结果分选的标签。如果它被设置为False,它只返回分层的整数指标。如果是True,则会产生一个错误。默认情况下,它被设置为无。
  • retbins : (可选)它是一个布尔值,当设置为True时返回(bins, labels)。
  • precision : (可选)存储和显示分类标签的精度。
  • duplicates : (Optional) 如果bin edges不是唯一的,引发ValueError或放弃非uniques。

Quantile Rank

算法:

1.导入pandas和numpy模块。
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)

输出 :
Pandas-Python中某一列的量化和十进制排名

Decile Rank

算法:

1.导入pandas和numpy模块。
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)

输出 :
Pandas-Python中某一列的量化和十进制排名

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程