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!");输出
Name Play Time(in hours) Rate ranking 0 Call Of Duty 45 Better than Average 3.0 1 TotalOverdose 46 Good 2.0 2 GTA 3 52 Best 1.0 3 Bully 22 Average 4.0
以上代码的解释
在此代码中,我们只是简单地使用 Pandas 库的内置函数对给定数据帧中存在的每个元素进行排名。我们可以使用最佳标准根据“游戏时间(小时)”列对元素进行排名。
现在,我们在数据帧中添加一个名为“排名”的列,并在其中使用我们的 **.rank()** 函数,并传递我们需要对元素进行排名的列名(在本例中,它是“游戏时间(小时)”列),现在当我们的新列创建后,我们打印我们的数据帧。
结论
在本教程中,我们对数据帧中的行进行排名,然后使用 Pandas 库及其内置函数打印我们的数据。对 Pandas DataFrame 进行行排序是一个简单的过程,但您需要正确遵循上述方法。
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP