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中使用sequence any函数?01/01
- ♥ python中列表和数组有什么区别?08/26
- ♥ python3代码如何使用字典进行数学运算?11/15
- ♥ 如何在python3线程中使用Event?12/31
- ♥ Python 中的简单计时器01/07
- ♥ 如果 pip 更新在 python 中失败怎么办11/07
内容反馈