datafarme rank函数
时间: 2024-05-08 18:17:22 浏览: 7
DataFrame中的rank函数可以用来为每个元素分配排名。它有以下参数:
- axis:指定排名的方向,默认为0,即按列排名。
- method:指定排名方式,默认为‘average’,即取平均排名。
- ascending:指定排名是升序还是降序,默认为True,即升序排名。
语法如下:
```
DataFrame.rank(axis=0, method='average', numeric_only=None, na_option='keep', ascending=True)
```
示例:
```python
import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4,5], 'B':[5,4,3,2,1]})
print(df.rank()) # 默认按列排名
```
输出:
```
A B
0 1.0 5.0
1 2.0 4.0
2 3.0 3.0
3 4.0 2.0
4 5.0 1.0
```
可以看到,rank函数为每个元素分配了排名,其中A列中最小的元素1排名为1,最大的元素5排名为5。B列中最小的元素5排名为5,最大的元素1排名为1。
如果想按行排名,可以将axis参数设置为1:
```python
print(df.rank(axis=1))
```
输出:
```
A B
0 1.0 2.0
1 1.0 2.0
2 1.0 2.0
3 1.0 2.0
4 1.0 2.0
```
可以看到,rank函数按行排名后,每行的排名都是1和2。这是因为每行只有两个元素,其中一个排名为1,另一个排名为2。