python dataframe的row_number排序
时间: 2024-05-13 10:19:36 浏览: 155
在 Python 的 Pandas 库中,可以使用 `reset_index()` 方法来给 DataFrame 添加一个新的默认索引,然后使用 `sort_values()` 方法来按照指定的列排序,最后再使用 `reset_index()` 方法重新设置索引。下面是一个示例:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'age': [25, 30, 35, 40, 45]
})
# 添加一个新的默认索引
df = df.reset_index()
# 按照 age 列进行排序
df = df.sort_values('age', ascending=False)
# 重新设置索引
df = df.reset_index(drop=True)
# 添加一列 row_number
df['row_number'] = df.index+1
print(df)
```
输出结果为:
```
index name age row_number
0 4 Eva 45 1
1 3 David 40 2
2 2 Charlie 35 3
3 1 Bob 30 4
4 0 Alice 25 5
```
可以看到,我们先使用 `reset_index()` 方法添加了一个新的默认索引,然后使用 `sort_values()` 方法按照 age 列进行降序排序,最后使用 `reset_index()` 方法重新设置索引,并添加了一列 row_number,表示每一行的排名。
阅读全文