品易云推流 关闭
文章详情页
文章 > Python基础教程 > python中apply和transform的比较

python中apply和transform的比较

Python

头像

小妮浅浅

2021-05-10 15:37:20772浏览 · 0收藏 · 0评论

1、相同点

都能针对dataframe完成特征的计算,并且常常与groupby()方法一起使用。

2、不同点

apply()里面可以跟自定义的函数,包括简单的求和函数以及复杂的特征间的差值函数等(注:apply不能直接使用agg()方法 / transform()中的python内置函数,例如sum、max、min、’count‘等方法)

transform() 里面不能跟自定义的特征交互函数,因为transform是真针对每一元素(即每一列特征操作)进行计算,也就是说在使用 transform() 方法时,需要记得三点:

(1)它只能对每一列进行计算,所以在groupby()之后,.transform()之前是要指定要操作的列,这点也与apply有很大的不同。

(2)由于是只能对每一列计算,所以方法的通用性相比apply()就局限了很多,例如只能求列的最大/最小/均值/方差/分箱等操作

(3)transform的其他组欧平最简单的情况是试图将函数的结果分配回原始的dataframe。也就是说返回的shape是(len(df),1)。

注:如果与groupby()方法联合使用,需要对值进行去重。

以上就是python中apply和transform的比较,希望对大家有所帮助。更多Python学习指路:python基础教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图