pandas 排序
时间: 2023-11-03 20:58:55 浏览: 125
在使用Pandas进行排序时,可以使用sort_values()函数来按照某一列的值进行排序。根据提供的代码,可以看出在排序时使用了ascending参数来指定升序或降序排序。
另外,还可以使用sort_index()函数按照索引进行排序,使用sort_index(axis=0)可以按照行索引进行排序,使用sort_index(axis=1)可以按照列索引进行排序。
相关问题
pandas排序
在 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
```
python pandas 排序
在 Pandas 中,可以使用 `sort_values()` 方法对数据进行排序。以下是一个简单的示例:
```python
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 20, 30, 35],
'salary': [5000, 3000, 8000, 6000]}
df = pd.DataFrame(data)
# 按照 age 列排序(升序)
df = df.sort_values('age')
print(df)
```
输出结果为:
```
name age salary
1 Bob 20 3000
0 Alice 25 5000
2 Charlie 30 8000
3 David 35 6000
```
默认情况下,`sort_values()` 方法会按照升序排序。如果需要按照降序排序,则可以将 `ascending` 参数设置为 `False`。例如:
```python
# 按照 age 列排序(降序)
df = df.sort_values('age', ascending=False)
print(df)
```
输出结果为:
```
name age salary
3 David 35 6000
2 Charlie 30 8000
0 Alice 25 5000
1 Bob 20 3000
```
除了按照单一列进行排序之外,还可以按照多个列进行排序。例如:
```python
# 按照 age 和 salary 列排序
df = df.sort_values(['age', 'salary'])
print(df)
```
输出结果为:
```
name age salary
1 Bob 20 3000
0 Alice 25 5000
3 David 35 6000
2 Charlie 30 8000
```
阅读全文