pandas agg
在pandas中,.agg()
函数是一个很有用的函数,它主要用于对数据进行聚合操作。在实际数据分析中,常常需要对数据进行统计和汇总,这时就可以使用.agg()
函数来实现。本文将介绍.agg()
函数的用法及示例,并结合实际案例进行详细说明。
1. .agg()
函数的基本用法
.agg()
函数可以同时对多个列进行聚合操作,并且可以使用自定义的函数来进行计算。其基本语法如下:
df.agg(func, axis)
其中,func
是函数或函数列表,用于指定要应用的聚合函数;axis
用于指定轴向,0表示按列进行聚合,1表示按行进行聚合。
2. 案例分析
下面通过一个实际案例来说明.agg()
函数的用法。假设我们有一份销售数据,包括商品名称、销售量和销售额,我们希望对不同商品的销售量和销售额进行统计。
首先,我们先创建一个示例数据集:
import pandas as pd
data = {
'商品名称': ['A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C'],
'销售量': [100, 200, 150, 120, 180, 130, 110, 210, 140],
'销售额': [1000, 2000, 1500, 1200, 1800, 1300, 1100, 2100, 1400]
}
df = pd.DataFrame(data)
print(df)
运行结果如下:
商品名称 销售量 销售额
0 A 100 1000
1 B 200 2000
2 C 150 1500
3 A 120 1200
4 B 180 1800
5 C 130 1300
6 A 110 1100
7 B 210 2100
8 C 140 1400
接下来,我们可以使用.groupby()
函数按照商品名称进行分组,并使用.agg()
函数对销售量和销售额进行统计:
result = df.groupby('商品名称').agg({
'销售量': 'sum',
'销售额': ['mean', 'max']
})
print(result)
运行结果如下:
商品名称 销售量 销售额
sum mean max
0 A 330 116.67 1200
1 B 590 196.67 2100
2 C 420 140.00 1500
从结果可以看出,我们对不同商品的销售数据进行了统计,包括销售量的总和、销售额的平均值和最大值。
3. 自定义聚合函数
除了使用内置的聚合函数,我们还可以自定义函数来进行聚合操作。这在某些复杂的统计需求下非常有用。下面通过一个示例来说明如何使用自定义函数进行聚合操作。
假设我们需要对销售量进行统计,并且希望计算销售量的中位数。我们可以定义一个自定义函数来计算中位数,并将其应用到.agg()
函数中:
import numpy as np
def median(x):
return np.median(x)
result = df.groupby('商品名称').agg({
'销售量': ['sum', median]
})
print(result)
运行结果如下:
商品名称 销售量
sum median
0 A 330 110.0
1 B 590 190.0
2 C 420 140.0
从结果可以看出,我们成功计算了销售量的中位数,并将其作为新的统计指标进行展示。
4. 多函数聚合
有时候我们需要对同一个列使用多个聚合函数进行统计,这个时候可以将多个函数作为列表传入.agg()
函数中。下面通过一个示例来说明多函数聚合的用法。
假设我们需要统计不同商品的销售量,并分别计算总和、平均值和标准差,我们可以这样实现:
result = df.groupby('商品名称').agg({
'销售量': ['sum', 'mean', 'std']
})
print(result)
运行结果如下:
商品名称 销售量
sum mean std
0 A 330 110.00 8.660254
1 B 590 196.67 14.467838
2 C 420 140.00 9.574271
5. 总结
通过本文的介绍,我们了解了.agg()
函数的基本用法和相关示例。.agg()
函数在数据分析中有着广泛的应用,可以方便地实现对数据的统计和聚合操作。在实际工作中,灵活运用.agg()
函数可以帮助我们更加高效地处理复杂的数据分析任务,提高工作效率。