pandas rank()函数
时间: 2023-12-05 07:41:25 浏览: 122
python3中rank函数的用法
Pandas中的`rank()`函数用于对DataFrame或Series中的数据进行排名。它可以根据指定的排序规则对数据进行排名,并返回一个新的排名序列。
`rank()`函数的基本语法如下:
```python
pandas.Series.rank(method='average', ascending=True, na_option='keep', gap=0)
pandas.DataFrame.rank(method='average', subset=None, axis=0, na_option='keep', gap)
```
参数说明:
* `method`:可选参数,用于指定排名的方式。默认值为'average',表示平均排名。其他可选值包括'min'(最小值排名)、'max'(最大值排名)、'dense'(等差排名,类似于Excel中的常规排名)等。
* `ascending`:可选参数,用于指定是否按照升序排列进行排名。默认值为True,表示按照升序排列进行排名。如果设置为False,则按照降序排列进行排名。
* `na_option`:可选参数,用于指定如何处理缺失值(NaN)。默认值为'keep',表示保留缺失值的位置。其他可选值包括'drop'(忽略缺失值的位置)和'nsmall+nlarge'(根据缺失值的位置选择不同的排名方式)。
* `gap`:可选参数,用于指定相邻排名之间的间隔。默认值为0,表示相邻排名之间没有间隔。
使用示例:
假设我们有一个包含数值的DataFrame,我们想要按照升序排列对其进行排名:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'score': [85, 90, 70, 95]}
df = pd.DataFrame(data)
# 对score列进行升序排名
df['score_rank'] = df['score'].rank(ascending=True)
print(df)
```
输出结果为:
```python
name score score_rank
0 Alice 85 3.0
1 Bob 90 2.0
2 Charlie 70 1.0
3 David 95 4.0
```
可以看到,`rank()`函数按照升序排列对分数进行了排名,并返回了一个新的列`score_rank`。
阅读全文