python apply函数的用法(python中apply和transform的比较)
1 、相同点 ,能针对dataframe完成特征的计算 ,并且常常与groupby()方法一起使用 。
2 、不同点 ,apply()可以跟自定义的函数 ,transform()不能跟自定义的特征交互函数 。
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基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!