DataFrame批量对行数据排序
时间: 2023-11-09 12:55:52 浏览: 67
解决DataFrame排序sort的问题
可以使用`sort_values()`方法对DataFrame中的行进行排序。
例如,假设我们有一个包含三列数据的DataFrame,其中第一列为学生姓名,第二列为数学成绩,第三列为英语成绩:
```
import pandas as pd
df = pd.DataFrame({
'姓名': ['张三', '李四', '王五', '赵六'],
'数学成绩': [85, 92, 78, 90],
'英语成绩': [80, 88, 85, 92]
})
```
我们可以使用`sort_values()`方法根据数学成绩对DataFrame进行排序:
```
df_sorted = df.sort_values('数学成绩', ascending=False)
print(df_sorted)
```
输出结果为:
```
姓名 数学成绩 英语成绩
1 李四 92 88
3 赵六 90 92
0 张三 85 80
2 王五 78 85
```
`sort_values()`方法的`ascending`参数默认为True,表示升序排序,如果要降序排序,需要将该参数设置为False。可以同时按照多个列进行排序,只需要将列名作为一个列表传递给`sort_values()`方法即可。例如,我们可以按照数学成绩降序排序,如果数学成绩相同,再按照英语成绩降序排序:
```
df_sorted = df.sort_values(['数学成绩', '英语成绩'], ascending=[False, False])
print(df_sorted)
```
输出结果为:
```
姓名 数学成绩 英语成绩
1 李四 92 88
3 赵六 90 92
0 张三 85 80
2 王五 78 85
```
阅读全文