pandas指定列顺序排序
时间: 2023-06-29 13:04:28 浏览: 195
可以使用`reindex`方法来指定列的顺序排序。具体步骤如下:
1. 首先创建一个DataFrame,并且包含需要排序的列。
```python
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'Age': [28, 34, 29, 42],
'Country': ['US', 'UK', 'US', 'UK']}
df = pd.DataFrame(data)
```
2. 指定需要排序的列的顺序。
```python
column_order = ['Country', 'Name', 'Age']
```
3. 使用`reindex`方法按照指定的列顺序排序。
```python
df = df.reindex(columns=column_order)
```
最终结果如下:
```
Country Name Age
0 US Tom 28
1 UK Jack 34
2 US Steve 29
3 UK Ricky 42
```
相关问题
pandas 按照某一列的指定顺序排序
可以使用 pandas 的 sort_values() 方法,其中参数 by 指定按照哪一列排序,参数 key 指定排序方式,例如:
df.sort_values(by='column_name', key=lambda x: x.map({'value1': 1, 'value2': 2}))
这样就可以按照指定列的指定顺序排序了。
pandas 多列排序
你可以使用 Pandas 的 `sort_values()` 方法对多列进行排序。你可以在 `sort_values()` 方法中传递一个包含多个列名的列表,这样就可以按照指定的列顺序进行排序。
以下是一个示例代码,演示如何对 DataFrame 中的多列进行排序:
```python
import pandas as pd
# 创建示例 DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 20, 35],
'Salary': [5000, 4000, 6000, 3000]
}
df = pd.DataFrame(data)
# 按照 'Age' 列升序,然后按照 'Salary' 列降序排序
df_sorted = df.sort_values(by=['Age', 'Salary'], ascending=[True, False])
print(df_sorted)
```
输出结果为:
```
Name Age Salary
2 Charlie 20 6000
0 Alice 25 5000
1 Bob 30 4000
3 David 35 3000
```
在这个示例中,我们首先按照 'Age' 列进行升序排序,然后在 'Age' 列相同的情况下,按照 'Salary' 列进行降序排序。
阅读全文