pandas排序
时间: 2023-06-29 22:06:02 浏览: 92
pandas 透视表中文字段排序方法
5星 · 资源好评率100%
在 pandas 中,可以使用 `sort_values` 方法对 DataFrame 或 Series 进行排序。以下是一些示例:
对 Series 进行排序:
```python
import pandas as pd
s = pd.Series([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
sorted_s = s.sort_values()
print(sorted_s)
```
输出:
```
1 1
3 1
6 2
0 3
9 3
2 4
4 5
8 5
7 6
5 9
dtype: int64
```
对 DataFrame 按照某一列排序:
```python
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 24, 30, 18, 22],
'score': [90, 80, 70, 60, 95]
})
sorted_df = df.sort_values(by='age')
print(sorted_df)
```
输出:
```
name age score
3 David 18 60
1 Bob 24 80
4 Emily 22 95
0 Alice 25 90
2 Charlie 30 70
```
对 DataFrame 按照多列排序:
```python
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 24, 30, 18, 22],
'score': [90, 80, 70, 60, 95]
})
sorted_df = df.sort_values(by=['score', 'age'])
print(sorted_df)
```
输出:
```
name age score
3 David 18 60
2 Charlie 30 70
1 Bob 24 80
0 Alice 25 90
4 Emily 22 95
```
在排序时,可以使用 `ascending` 参数指定升序或降序,默认为升序。例如:
```python
import pandas as pd
s = pd.Series([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
sorted_s = s.sort_values(ascending=False)
print(sorted_s)
```
输出:
```
5 9
7 6
8 5
4 5
2 4
0 3
9 3
6 2
1 1
3 1
dtype: int64
```
阅读全文