📅  最后修改于: 2023-12-03 14:54:39.308000             🧑  作者: Mango
在 Pandas 中,可以通过 sort_values()
方法轻松对 DataFrame 中的数据进行排序。本文将介绍如何按照两列对 DataFrame 进行排序。
我们先创建一个简单的 DataFrame 作为演示:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
'age': [25, 20, 30, 35, 28],
'score': [80, 90, 70, 85, 75]
}
df = pd.DataFrame(data)
DataFrame 数据如下:
| | name | age | score | |---:|:--------|:----:|------:| | 0 | Alice | 25 | 80 | | 1 | Bob | 20 | 90 | | 2 | Charlie | 30 | 70 | | 3 | David | 35 | 85 | | 4 | Edward | 28 | 75 |
我们可以使用 sort_values()
函数实现按照两列排序,代码如下:
df.sort_values(by=['score', 'age'], ascending=[False, True], inplace=True)
以上代码表示,先按照 score
列排序,如果有相同分数,则按照 age
列排序。ascending=[False, True]
表示第一列按照降序排序,第二列按照升序排序。inplace=True
表示直接在原 DataFrame 上进行修改。
排序后的 DataFrame 如下:
| | name | age | score | |---:|:--------|:----:|------:| | 1 | Bob | 20 | 90 | | 3 | David | 35 | 85 | | 0 | Alice | 25 | 80 | | 4 | Edward | 28 | 75 | | 2 | Charlie | 30 | 70 |
以上示例说明了如何按照两列对 DataFrame 进行排序。您也可以根据具体需求修改 by
和 ascending
参数来实现定制化排序。