pandas中transform与apply的区别

transform 函数:
1. 只允许在同一时间在一个Series上进行一次转换,如果定义列A减去列B,则会出现异常;
2. 必须返回与group相同的单个维度的序列(行)
3. 返回单个标量对象也可以使用,如:transform(sum)

apply函数:
1. 不同于transfrom只允许在Series上进行一次转换,apply对整个DataFrame作用
2. apply隐式地将group上所有的列作为自定义函数

举例:

image
image

返回单个标量可以使用transform:
我们可以看到使用transform和apply的输出形式是不一样的,transform返回与数据相同长度的行,而apply则进行了聚合,此时使用apply说明的信息更明确;
image

例子2
image
image

image

函数传递给transform必须返回一个数字,一行,或者与参数相同的形状。 如果是一个数字,那么数字将被设置为组中的所有元素,如果是一行,它将会被广播到组中的所有行。

posted @ 2022-03-11 19:22  白云~  阅读(452)  评论(0编辑  收藏  举报