【说站】python中apply和transform的比较
2024-12-23
4
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基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
更新于:5小时前赞一波!1
相关文章
- 【说站】python使用required定义必填字段
- 【说站】python marshmallow如何提供默认值
- 【说站】python dump方法的序列化
- 【说站】python中的Locust是什么
- 【说站】python中marshmallow库如何使用
- 【说站】python库如何实现对象的转换
- 【说站】python中filter()的多种筛选
- 【说站】python析构函数如何使用
- 【说站】python协程和线程的差异
- 【说站】python私有方法的使用注意
- 【说站】python中__init__ 和__new__的对比
- 【说站】python中类对象及类属性的介绍
- 【说站】python中__call__的触发执行
- 【说站】python类实例化如何实现
- 【说站】python实例属性的查找顺序
- 【说站】python保护变量是什么
- 【说站】python中__enter__和__exit__的应用场景
- 【说站】python数据预处理的三种情况
- 【说站】python自动化测试需要学习什么?
- 【说站】python如何读取不同格式文件
文章评论
评论问答