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)# 用 Python 编写的 Hello World 程序
print ("你好,世界!");
Name Play Time(in hours) Rate ranking0 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
以上代码说明
在这段代码中,我们只是使用熊猫库的内置函数对给定数据框中存在的每个元素进行排名。我们可以使用最佳标准对“播放Time(in hours)”列中的元素进行排名。
现在我们在我们的数据框中添加一个名为“ranking”的列,并使用我们的. rank()在其中运行并传递我们需要对其元素进行排名的列名(在本例中,它是播放Time(in hours)列),现在当我们创建新列时,我们打印我们的数据框。
结论
在本教程中,我们对数据框中的行进行排名,然后使用 pandas 库及其内置函数打印我们的数据。对pandas数据帧的行进行排名是一个简单的过程,但您需要正确遵循上述方法。
以上是 Python - 对 Pandas DataFrame 的行进行排名 的全部内容, 来源链接: utcz.com/z/317257.html