Pandas 按组聚合和列排序

作者:编程家 分类: pandas 时间:2025-06-27

使用 Pandas 按组聚合和列排序

---------------------------------------

Pandas 是一个流行的 Python 库,用于数据分析和数据处理。在数据分析过程中,我们经常需要对数据进行聚合操作,并按照特定的列进行排序。Pandas 提供了强大的功能,可以轻松地进行按组聚合和列排序的操作,以便更好地理解和分析数据。

按组聚合

在数据分析中,我们经常需要按照某一列或某几列的值对数据进行分组,并对每个组进行聚合操作。Pandas 提供了 `groupby` 函数来实现按组聚合的功能。我们可以根据特定的列或多个列的值将数据分成多个组,然后对每个组进行聚合操作,如计算平均值、求和等。

下面是一个简单的示例代码,演示了如何使用 Pandas 的 `groupby` 函数对数据进行按组聚合的操作:

python

import pandas as pd

# 创建一个包含学生姓名、科目和成绩的 DataFrame

data = {'姓名': ['小明', '小红', '小刚', '小明', '小红', '小刚'],

'科目': ['数学', '数学', '数学', '语文', '语文', '语文'],

'成绩': [90, 95, 85, 80, 85, 90]}

df = pd.DataFrame(data)

# 按照姓名进行分组,并计算每个学生的平均成绩

avg_score = df.groupby('姓名')['成绩'].mean()

print(avg_score)

运行以上代码,我们会得到每个学生的平均成绩,结果如下:

姓名

小刚 87.5

小明 85.0

小红 90.0

Name: 成绩, dtype: float64

可以看到,通过 `groupby` 函数,我们成功地将数据按姓名分成了三组,并计算出了每个学生的平均成绩。

列排序

除了按组聚合,我们还经常需要按照某一列或多列的值对数据进行排序,以便更好地理解和分析数据。Pandas 提供了 `sort_values` 函数来实现按列排序的功能。我们可以指定需要排序的列名,并选择升序或降序排列。

下面是一个简单的示例代码,演示了如何使用 Pandas 的 `sort_values` 函数对数据进行按列排序的操作:

python

import pandas as pd

# 创建一个包含学生姓名、科目和成绩的 DataFrame

data = {'姓名': ['小明', '小红', '小刚'],

'科目': ['数学', '语文', '数学'],

'成绩': [90, 85, 95]}

df = pd.DataFrame(data)

# 按照成绩降序排列

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

print(sorted_df)

运行以上代码,我们会得到按照成绩降序排列的结果,结果如下:

姓名 科目 成绩

2 小刚 数学 95

0 小明 数学 90

1 小红 语文 85

可以看到,通过 `sort_values` 函数,我们成功地将数据按照成绩降序排列了。

通过 Pandas 的 `groupby` 和 `sort_values` 函数,我们可以方便地实现按组聚合和列排序的操作,以便更好地理解和分析数据。无论是对于初学者还是有经验的数据分析师来说,掌握这些功能都是非常重要的。希望本文能够帮助读者更好地使用 Pandas 进行数据分析和处理。

以上就是关于使用 Pandas 按组聚合和列排序的文章,希望对你有所帮助!