📌  相关文章
📜  按特定列对 pandas 数据帧进行排序 - Python (1)

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

按特定列对 pandas 数据帧进行排序 - Python

Pandas 是一种基于 NumPy 的工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

本篇文章将介绍如何使用 Pandas 对数据帧按特定列进行排序。

排序方法

Pandas 提供了两种排序方法:

  • 通过 .sort_values() 方法对数据帧按指定列进行排序。
  • 通过 .sort_index() 方法对数据帧按行索引进行排序。

在本篇文章中,我们将关注第一种方法。

.sort_values() 方法

.sort_values() 方法可用于按指定列对数据帧进行排序。以下是一些示例代码:

import pandas as pd

# 创建一个包含三列的数据帧
df = pd.DataFrame({
    'name': ['John', 'Mary', 'Peter', 'Bob'],
    'age': [22, 33, 25, 45],
    'gender': ['M', 'F', 'M', 'M']
})

# 对 'name' 列进行排序
df_sorted = df.sort_values('name')

print(df_sorted)

输出结果如下:

   name  age gender
0  John   22      M
3   Bob   45      M
1  Mary   33      F
2 Peter   25      M

默认情况下,按升序排列。要按降序排列,可以将 ascending 参数设置为 False

# 以降序排列的方式对 'age' 列进行排序
df_sorted = df.sort_values('age', ascending=False)

print(df_sorted)

输出结果如下:

   name  age gender
3   Bob   45      M
1  Mary   33      F
2 Peter   25      M
0  John   22      M

你也可以使用 .sort_values() 方法对多个列进行排序。以下是一个示例代码:

# 先按 'gender' 列进行排序,然后按 'age' 列进行排序
df_sorted = df.sort_values(['gender', 'age'])

print(df_sorted)

输出结果如下:

   name  age gender
1  Mary   33      F
0  John   22      M
2 Peter   25      M
3   Bob   45      M
结论

现在你已经了解如何使用 Pandas 对数据帧按指定列进行排序了。.sort_values() 方法非常灵活,你可以使用它来实现各种排序需求。