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()方法联合使用,需要对值进行去重。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何快速掌握python中的namedtuple模块?01/09
- ♥ python的优势在哪里?11/08
- ♥ python如何在numpy中使用size()函数?10/19
- ♥ 什么是java和python09/14
- ♥ 用于处理数字列表的python函数10/19
- ♥ 什么是python def08/16
内容反馈