📜  数据框按列排序 - Python (1)

📅  最后修改于: 2023-12-03 15:39:59.751000             🧑  作者: Mango

数据框按列排序 - Python

数据框(DataFrame)是Pandas库中最重要的数据结构之一,它可以简单地理解为一个二维表格,其中每行代表一条记录,每列代表一种属性。在数据预处理和分析过程中,我们经常需要按照某一列或多列对数据框进行排序,以获取更直观和有用的信息。下面将介绍在Python中对数据框按列排序的方法。

首先考虑以下示例数据框:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'age': [25, 32, 18, 47, 28],
        'score': [80, 90, 70, 85, 95]}

df = pd.DataFrame(data)
print(df)

输出结果如下:

       name  age  score
0     Alice   25     80
1       Bob   32     90
2   Charlie   18     70
3     David   47     85
4       Eva   28     95

接下来,我们以age列为例,介绍对数据框按列排序的方法:

按照单列排序

按照age列从小到大排序:

df_age_asc = df.sort_values('age', ascending=True)
print(df_age_asc)

输出结果如下:

       name  age  score
2   Charlie   18     70
0     Alice   25     80
4       Eva   28     95
1       Bob   32     90
3     David   47     85

按照age列从大到小排序:

df_age_desc = df.sort_values('age', ascending=False)
print(df_age_desc)

输出结果如下:

       name  age  score
3     David   47     85
1       Bob   32     90
4       Eva   28     95
0     Alice   25     80
2   Charlie   18     70
按照多列排序

按照age列从小到大,score列从大到小排序:

df_age_score = df.sort_values(['age', 'score'], ascending=[True, False])
print(df_age_score)

输出结果如下:

       name  age  score
2   Charlie   18     70
0     Alice   25     80
4       Eva   28     95
1       Bob   32     90
3     David   47     85

按照age列从大到小,score列从小到大排序:

df_age_score2 = df.sort_values(['age', 'score'], ascending=[False, True])
print(df_age_score2)

输出结果如下:

       name  age  score
3     David   47     85
1       Bob   32     90
4       Eva   28     95
0     Alice   25     80
2   Charlie   18     70

以上就是对数据框按列排序的介绍和示例。数据框按列排序是数据分析和预处理中一项非常基本和重要的操作,相信本文可以为你在Python中对数据框进行排序提供帮助。