大家好,在数据分析中,需要对数据进行分组统计与计算,Pandas的groupby
功能提供了强大的分组功能。transform
方法是groupby
中常用的转换方法之一,它允许在分组的基础上进行灵活的转换和计算,并将结果与原始数据保持相同的结构。因此,transform
非常适合需要将计算结果返回到原始DataFrame的情况。
1.transform方法基本概念
transform
方法可以对每个分组进行计算,并将结果“广播”回原始DataFrame,使得返回的DataFrame形状与原始数据一致。与其他groupby
操作不同,transform
返回的数据不会改变原始DataFrame的行数,而是将分组后的计算结果逐行赋值给原始DataFrame。
transform
方法的基本语法如下:
DataFrame.groupby('列名')['列名'].transform(func)
-
groupby('列名')
:指定需要分组的列。 -
transform(func)
:对每个分组应用函数func
,可以是内置的聚合函数,也可以是自定义函数。
常见的聚合函数包括求均值(mean
)、求和(sum
)、最大值(max
)、最小值(min
)等。
2.示例数据集
使用一个包含员工信息的示例数据集,包括员工姓名、部门和薪资信息,方便演示各种transform
操作。
import pandas as pd
# 创建示例数据集
data = {
'姓名': ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank'],
'部门': ['销售', '销售', 'IT', 'IT', '市场', &