📜  python 数据框添加排名列 - Python (1)

📅  最后修改于: 2023-12-03 15:19:10.045000             🧑  作者: Mango

Python 数据框添加排名列

在数据分析中,我们常常需要对数据框中的某一列进行排名操作,以确定数据的相对大小。本文将介绍如何使用Python为数据框添加排名列。

策略一:使用pandas的rank方法

pandas库中的rank方法可以为数据框中的一列数据进行排名操作。具体代码如下:

import pandas as pd

# 创建数据框
data = {"name":["Tom","Jack","Steve","Ricky","Lisa"],
        "score":[99,85,80,90,88]}
df = pd.DataFrame(data)

# 对分数进行排名
df['rank'] = df['score'].rank(ascending=False)

print(df)

输出结果如下:

    name  score  rank
0    Tom     99   1.0
1   Jack     85   4.0
2  Steve     80   5.0
3  Ricky     90   2.0
4   Lisa     88   3.0
策略二:使用numpy的argsort方法

numpy库中的argsort方法可以获取数组中元素从小到大排序的索引值。利用该索引值即可为数据框中的一列数据进行排名操作。具体代码如下:

import numpy as np
import pandas as pd

# 创建数据框
data = {"name":["Tom","Jack","Steve","Ricky","Lisa"],
        "score":[99,85,80,90,88]}
df = pd.DataFrame(data)

# 对分数进行排名
df['rank'] = np.argsort(df['score'])[::-1] + 1

print(df)

输出结果同上。

采用numpy的argsort方法的优势在于可以自定义排名规则,比如按照字典序排名等。

小结

以上就是为Python数据框添加排名列的方法,具体采用哪种方法可以根据实际需求来选择。