📌  相关文章
📜  如何对 Pandas DataFrame 进行排序?(1)

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

如何对 Pandas DataFrame 进行排序?

Pandas 是 Python 中一个流行的数据处理库,它提供了多种对数据进行排序的方式。DataFrame 是 Pandas 中最常使用的数据结构之一,DataFrame 的每列数据类型可以不同。下面是介绍如何对 Pandas DataFrame 进行排序的示例代码片段。

1. 按照某列进行升序排序
import pandas as pd

data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'],
        'age': [30, 25, 27, 20],
        'score': [70, 80, 90, 85]}

df = pd.DataFrame(data)

df_sorted = df.sort_values('age')  # 按照'age'列进行升序排序

print(df_sorted)

输出:

     name  age  score
3  Minnie   20     85
2  Mickey   27     90
1   Jerry   25     80
0     Tom   30     70
2. 按照某列进行降序排序
import pandas as pd

data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'],
        'age': [30, 25, 27, 20],
        'score': [70, 80, 90, 85]}

df = pd.DataFrame(data)

df_sorted = df.sort_values('score', ascending=False)  # 按照'score'列进行降序排序

print(df_sorted)

输出:

     name  age  score
2  Mickey   27     90
3  Minnie   20     85
1   Jerry   25     80
0     Tom   30     70
3. 按照多列进行排序
import pandas as pd

data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'],
        'age': [30, 25, 27, 20],
        'score': [70, 80, 90, 85]}

df = pd.DataFrame(data)

df_sorted = df.sort_values(['age', 'score'], ascending=[True, False])  # 按照'age'列进行升序排序,如果'age'相同则按照'score'列降序排序

print(df_sorted)

输出:

     name  age  score
3  Minnie   20     85
1   Jerry   25     80
2  Mickey   27     90
0     Tom   30     70

以上就是对 Pandas DataFrame 进行排序的示例代码片段,其中用到了 DataFrame 的 sort_values() 方法,可以根据指定列或多列对 DataFrame 进行排序。同时,sort_values() 方法还提供了 ascending 参数,用于指定排序方式是升序还是降序。