新聞中心
1、相同點(diǎn),能針對(duì)dataframe完成特征的計(jì)算,并且常常與groupby()方法一起使用。

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、撫州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
2、不同點(diǎn),apply()可以跟自定義的函數(shù),TRANSFORM()不能跟自定義的特征交互函數(shù)。
apply()里面可以跟自定義的函數(shù),包括簡(jiǎn)單的求和函數(shù)以及復(fù)雜的特征間的差值函數(shù)等(注:apply不能直接使用agg()方法 / transform()中的python內(nèi)置函數(shù),例如sum、max、min、’count‘等方法)
transform()里面不能跟自定義的特征交互函數(shù),因?yàn)閠ransform是真針對(duì)每一元素(即每一列特征操作)進(jìn)行計(jì)算,也就是說(shuō)在使用 transform() 方法時(shí),需要記得三點(diǎn):
(1)它只能對(duì)每一列進(jìn)行計(jì)算,所以在groupby()之后,.transform()之前是要指定要操作的列,這點(diǎn)也與apply有很大的不同。
(2)由于是只能對(duì)每一列計(jì)算,所以方法的通用性相比apply()就局限了很多,例如只能求列的/最小/均值/方差/分箱等操作
(3)transform的其他組歐平最簡(jiǎn)單的情況是試圖將函數(shù)的結(jié)果分配回原始的dataframe。也就是說(shuō)返回的shape是(len(df),1)。
注:如果與groupby()方法聯(lián)合使用,需要對(duì)值進(jìn)行去重。
以上就是python中apply和transform的比較,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
本文名稱(chēng):創(chuàng)新互聯(lián)Python教程:python中apply和transform的比較
標(biāo)題鏈接:http://www.dlmjj.cn/article/dhpgpdo.html


咨詢
建站咨詢
