Python里根据dataframe的多列排序
时间: 2023-11-19 11:08:38 浏览: 106
在 Pandas 中,可以使用 `.sort_values()` 方法对 DataFrame 进行排序,可以通过指定 `by` 参数来按照一个或多个列进行排序。以下是一个例子:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 20, 30, 35],
'salary': [50000, 40000, 60000, 70000]}
df = pd.DataFrame(data)
# 按照 age 和 salary 两列排序
df_sorted = df.sort_values(by=['age', 'salary'], ascending=[True, False])
print(df_sorted)
```
输出结果如下:
```
name age salary
1 Bob 20 40000
0 Alice 25 50000
2 Charlie 30 60000
3 David 35 70000
```
在 `by` 参数中传递一个包含多个列名的列表,可以按照这些列进行排序。`ascending` 参数指定了每个列的排序顺序,`True` 表示升序,`False` 表示降序。在上面的例子中,我们首先按照 `age` 列进行升序排序,如果 `age` 列中的值相同,则按照 `salary` 列进行降序排序。
阅读全文