📅  最后修改于: 2023-12-03 14:45:03.106000             🧑  作者: Mango
在 Pandas 中, rank()
函数用于给数据按照某种方式排序,并返回每个元素的排名。它是一个非常有用的函数,因为在进行数据分析时,我们通常需要对数据进行排序和排名。在本文中,我们将介绍 Pandas 中的 rank()
函数以及它的用法。
Pandas 中的 rank()
函数的用法如下:
DataFrame.rank(axis=0, method='average', numeric_only=None, na_option='keep', ascending=True, pct=False)
参数解释:
axis
:指定按行或列进行排名,0
表示按列进行排名,1
表示按行进行排名。默认为 0
。method
:指定排名的方法,包括 average
、min
、max
、first
和 dense
。默认为 average
。numeric_only
:指示是否只对数值类型的列进行排名。默认为 None
。na_option
:指定对缺失值的处理方式,可以是 keep
(保留)、top
(按最高排名)、bottom
(按最低排名)。默认为 keep
。ascending
:指示是否按升序排列。默认为 True
。pct
:指示是否返回排名百分比。默认为 False
。我们用一个示例来说明 rank()
函数的用法。假设有一个数据集,包含以下字段:Name
、Country
和 Sales
。我们想对这些数据按照 Sales
进行排序,并返回每个 Sales
值的排名。
import pandas as pd
data = {'Name': ['John', 'Mary', 'Peter', 'Jack', 'David'],
'Country': ['USA', 'Canada', 'USA', 'Canada', 'USA'],
'Sales': [100, 200, 150, 50, 300]}
df = pd.DataFrame(data)
print(df)
df['Rank'] = df['Sales'].rank()
print(df)
输出:
Name Country Sales
0 John USA 100
1 Mary Canada 200
2 Peter USA 150
3 Jack Canada 50
4 David USA 300
Name Country Sales Rank
0 John USA 100 2.0
1 Mary Canada 200 3.0
2 Peter USA 150 2.5
3 Jack Canada 50 1.0
4 David USA 300 4.0
在这个示例中,我们首先创建了一个包含 Name
、Country
和 Sales
三个字段的 DataFrame。接着我们使用 Pandas 的 rank()
函数对 Sales
进行排名,并将结果存储在一个名为 Rank
的新列中。
输出结果显示,每个 Sales
值被打上了一个排名。注意,对于 Sales
值相同的行,rank()
函数会返回它们的平均排名。
在本文中,我们介绍了 Pandas 中的 rank()
函数以及它的用法。该函数非常有用,可以对数据进行排序和排名,并返回每个元素的排名。在进行数据分析时,我们通常需要对数据进行排序和排名,因此 rank()
函数是一个非常重要的函数。