Python - 对 Pandas DataFrame 的行进行排名
pythonserver side programmingprogramming
添加一个包含所提供数据框中每行排名的列,这将有助于我们对数据框进行排序并确定特定元素的排名,例如 −
我们的数据框
| Name Play Time (in hours) | Rate | |||
|---|---|---|---|---|
| 0 | Call Of Duty | 45 | Better than Average | |
| 1 | Total Overdose | 46 | Good | |
| 2 | GTA3 | 52 | Best | |
| 3 | Bully | 22 | Average | |
输出
| Name Play Time (in hours) | Rate ranking | |||
|---|---|---|---|---|
| 0 | Call Of Duty | 45 | Better than Average | 3.0 |
| 1 | Total Overdose | 46 | Good | 2.0 |
| 2 | GTA3 | 52 | Best | 1.0 |
| 3 | Bully | 22 | Average | 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
上述代码的解释
在此代码中,我们只是使用 panda 库的内置函数对给定数据框中存在的每个元素进行排序。我们可以使用最佳标准对列"播放时间(以小时为单位)"的元素进行排序。
现在我们在数据框中添加一个名为"ranking"的列,并在其中使用我们的 .rank() 函数并传递我们需要对元素进行排名的列名(在本例中,它是播放时间(以小时为单位)列),现在当我们的新列创建时,我们会打印数据框。
结论
在本教程中,我们对数据框中的行进行排名,然后使用 pandas 库及其内置函数打印数据。对 pandas 数据框的行进行排名是一个简单的过程,但您需要正确遵循上述方法。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

