📜  在 pandas 中按列排序 - Python (1)

📅  最后修改于: 2023-12-03 14:51:03.781000             🧑  作者: Mango

在 pandas 中按列排序 - Python

在数据分析和处理中,经常需要对数据进行排序。Pandas 是一个非常强大的 Python 库,可用于数据处理和分析。本文将介绍如何在 Pandas 中按列进行排序。

准备数据

首先,我们需要导入 Pandas 库,并准备一个示例数据集。假设我们有一个包含学生信息的数据集,包括学生姓名、年龄和成绩。我们将使用这个数据集来演示如何按照不同的列对数据进行排序。

import pandas as pd

data = {'姓名': ['张三', '李四', '王五', '赵六'], '年龄': [21, 19, 20, 22], '成绩': [85, 78, 92, 88]}
df = pd.DataFrame(data)

这个数据集包含了4个学生的姓名、年龄和成绩信息。

按列排序

Pandas 提供了 sort_values() 方法来实现按列排序。我们可以指定要排序的列名,并选择是升序还是降序。

下面是一个示例,按成绩降序排序:

df_sorted = df.sort_values('成绩', ascending=False)

在上面的代码中,我们使用了 sort_values() 方法对数据集 df 按照列名 '成绩' 进行降序排序,并将排序后的结果赋值给新的 DataFrame df_sorted

我们还可以按照多个列进行排序。例如,按照年龄升序排序,如果年龄相同则按成绩降序排序:

df_sorted = df.sort_values(['年龄', '成绩'], ascending=[True, False])

上面的代码将按照列名 '年龄' 进行升序排序,如果年龄相同,则按照列名 '成绩' 进行降序排序。

结果展示

排序后的结果是一个新的 DataFrame,我们可以通过打印出来查看。

print(df_sorted)

输出结果为:

| | 姓名 | 年龄 | 成绩 | |---|-----|-----|-----| | 1 | 李四 | 19 | 78 | | 3 | 赵六 | 22 | 88 | | 2 | 王五 | 20 | 92 | | 0 | 张三 | 21 | 85 |

上面的表格是按照先年龄升序,再按照成绩降序的方式排序后的结果。

结论

本文介绍了如何在 Pandas 中按列进行排序。我们可以使用 sort_values() 方法来对数据进行排序,可以按照单个或多个列进行排序,并且可以选择升序或降序。排序后的结果是一个新的 DataFrame,我们可以进一步处理或分析这些数据。

希望本文能够帮助你理解如何在 Pandas 中进行按列排序的操作。使用 Pandas,你可以方便地对数据进行排序和分析,为数据处理工作带来更高的效率。