📜  分组,聚合多列 -pandas - Python (1)

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

分组,聚合多列 - pandas - Python

在数据分析工作中,经常需要对数据进行分组和聚合,以发掘数据中的价值信息。Pandas是Python中广泛使用的数据分析库之一,提供了基本的数据处理和分析功能,其中包括数据的分组和聚合。

1. 分组和聚合的概念

在数据分析中,如果我们希望对数据进行划分,并对每一组数据计算某些指标,例如平均值,最大值,最小值等等,那么我们可以使用分组和聚合函数。

分组

将数据按照某个指标进行分类,得到的是一个按照指标分类的数据集合,称为分组结果。

聚合

对分组结果进行统计或计算,得到一个或多个标量值或矩阵值,这个过程称为聚合。

2. Pandas中的分组和聚合

Pandas提供了非常方便的分组和聚合函数,包括groupby函数,agg函数等等。

groupby函数

groupby函数用于对数据进行分组,可以按照单独的一列或者多列进行分组。

import pandas as pd
 
df = pd.read_csv("data.csv") # 读取数据
 
df.groupby('column1') # 按单独的一列分组
df.groupby(['column1', 'column2']) # 按多列分组
agg函数

agg函数用于对分组后的数据进行聚合计算,可以计算多个函数,例如max,min,mean等等。

import pandas as pd
 
df = pd.read_csv("data.csv") # 读取数据
 
df.groupby('column1').agg({
    'column2': 'max',
    'column3': 'min',
    'column4': 'mean'
})
3. 代码示例

下面是一个示例代码,展示了如何使用Pandas对数据进行分组和聚合。

import pandas as pd
 
# 读取数据
df = pd.read_csv("data.csv")

# 按照单独的一列分组并计算平均值
df_grouped_1 = df.groupby('column1').mean()

# 按照多列分组并计算平均值
df_grouped_2 = df.groupby(['column1', 'column2']).mean()

# 按照单独的一列分组并计算多个聚合函数
df_grouped_3 = df.groupby('column1').agg({
    'column2': 'max',
    'column3': 'min',
    'column4': 'mean'
})
 
# 输出分组后的结果
print(df_grouped_1)
print(df_grouped_2)
print(df_grouped_3)
4. 结束语

通过学习本文,您可以了解到Pandas中的基本数据分析函数,进而掌握如何使用Pandas进行数据的分组和聚合操作。这些知识对于进行数据分析和建模都是非常重要的。希望这篇教程能对您有所帮助!