国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

pandas中apply和transform方法的性能比較及區別介紹

2020-02-15 23:27:23
字體:
來源:轉載
供稿:網友

1. apply與transform

首先講一下apply() 與transform()的相同點與不同點

相同點:

都能針對dataframe完成特征的計算,并且常常與groupby()方法一起使用。

不同點:

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()方法聯合使用,需要對值進行去重

2. 各方法耗時

分別計算在同樣簡單需求下各組合方法的計算時長

2.1 transform() 方法+自定義函數


2.2 transform() 方法+python內置方法


2.3 apply() 方法+自定義函數


2.4 agg() 方法+自定義函數

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 布拖县| 济宁市| 岳阳县| 广东省| 马龙县| 古交市| 会泽县| 康保县| 孟州市| 新宁县| 潮州市| 山阳县| 原平市| 永泰县| 大荔县| 礼泉县| 阜阳市| 始兴县| 湖北省| 万年县| 茶陵县| 牙克石市| 渭源县| 洛隆县| 邵阳县| 德令哈市| 龙岩市| 兴仁县| 紫云| 瑞安市| 双峰县| 广东省| 厦门市| 张家口市| 饶阳县| 台东市| 闸北区| 洪雅县| 封开县| 昌乐县| 昆山市|