Python – 对Pandas DataFrame的行进行排名

Python – 对Pandas DataFrame的行进行排名

添加一个包含所提供数据帧中每行排名的列将有助于我们对数据帧进行排序并确定特定元素的排名,例如 −

我们的数据帧

名称 游戏时间(小时) 评分
0 使命召唤 | 45 | 超出平均水平
1 苯乙酸 | 46 | 好
2 侠盗猎车手3 | 52 | 最佳
3 欺凌者 | 22 | 平均

输出

名称 游戏时间(小时) 评分排名
0 使命召唤 | 45 | 超出平均水平 | 3.0
1 苯乙酸 | 46 | 好 | 2.0
2 侠盗猎车手3 | 52 | 最佳 | 1.0
3 欺凌者 | 22 | 平均 | 4.0

现在,正如您可以在上面的示例中看到的那样,我们的排名是整数但在其旁边有小数点,因此这意味着我们也可以在实数中拥有排名,并且当多个元素在数据帧中具有相同的排名时,就会发生这种情况,在这种情况下,我们的排名在元素之间分配。因此,它们的排名具有实数。

现在我们如何为我们的数据帧分配排名

为了为我们的数据帧的元素分配排名,我们使用pandas库的内置函数 rank() ,我们向其传递基于其排名元素的标准,此函数返回存储排名的新列的每行。

示例

使用.rank()函数的代码是

import pandas as pd
games = {'Name' : ['Call Of Duty', 'Total Overdose', 'GTA 3', 'Bully'],
       'Play Time(in hours)' : ['45', '46', '52', '22'],
        'Rate' : ['Better than Average', 'Good', 'Best', 'Average']}
df = pd.DataFrame(games)
df['ranking'] = df['Play Time(in hours)'].rank(ascending = 0)
print(df)# Hello World program in Python
   
print ("Hello World!");
Python

输出

    名称 游戏时间(小时)      评分 排名
0  使命召唤     45     超出平均水平      3.0
1  苯乙酸      46                      2.0
2  侠盗猎车手3  52     最佳              1.0
3  欺凌者      22     平均              4.0
Python

上述代码的解释

在此代码中,我们只是使用pandas库的内置函数对给定数据帧中的每个元素进行排名。我们可以使用最佳标准为列“ Play Time(in hours)”排名元素。

现在我们在数据帧中添加了一个名为“ ranking”的列,并在其中使用我们的 rank() 函数,并传递我们需要对元素进行排名的列名称(在此例中,它是Play Time(in hours)列),现在我们创建新列时打印我们的数据帧。

结论

在本教程中,我们对数据帧的行进行了排名,然后使用pandas库及其内置函数打印了我们的数据。Pandas DataFrame的行排名是一个简单的过程,但您需要正确地遵循上述方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册