成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文弄懂Apply、Map和Aplymap三種函數的區別

開發 前端
在日常處理數據的過程中,會經常遇到這樣的情況,對一個DataFrame進行逐行、逐列或者逐元素的操作,很多小伙伴也知道需要用到apply、map或者applymap,但是具體什么情況下運用哪種方法或者說對這些方法了解不夠,用起來暈暈乎乎始終沒有很明白。

 在日常處理數據的過程中,會經常遇到這樣的情況,對一個DataFrame進行逐行、逐列或者逐元素的操作,很多小伙伴也知道需要用到apply、map或者applymap,但是具體什么情況下運用哪種方法或者說對這些方法了解不夠,用起來暈暈乎乎始終沒有很明白,希望這一篇文章能夠幫助有需要的小伙伴弄懂他們之間的區別,并且在遇到問題的時候能夠很清楚明白用哪個以及該怎樣使用。閑話少敘,我們正式開始吧。

[[322964]]

首先,來個總結

  • apply:應用在DataFrame的行或列中,也可以應用到單獨一個Series的每個元素中
  • map:應用在單獨一個Series的每個元素中
  • applymap:應用在DataFrame的每個元素中

apply

先從apply開始,當然最權威的說明還是要看官方文檔:

apply是沿DataFrame的軸應用功能,傳遞給函數的對象是Series對象,其索引為DataFrame的索引(axis = 0'')或DataFrame的列(axis = 1'')

當然比較常用的還是DataFrame.apply(),下邊我們通過例子來說明一下幫助理解.

首先有一個表:

 

一文弄懂apply、map和applymap三種函數的區別

 

apply應用到DataFrame中

如果我們求一下每一列或者每一列的極差,注意axis參數的設置,一般默認為0,即求每一列的極值

 

一文弄懂apply、map和applymap三種函數的區別

 

apply的參數可以直接接收現成的函數,也可以接收自定義函數,比如自定義的匿名函數:

 

一文弄懂apply、map和applymap三種函數的區別

 

通過對軸信息的設置,也可以求每一行的極差:

 

一文弄懂apply、map和applymap三種函數的區別

 

需要注意的是結果的索引,能夠很明顯的告訴大家現在求的是行極差還是列極差,如果是行極差,索引是行標簽,如果是列極差,索引是列名。

另外,對整個DataFrame運用apply的時候,要保證所有的字段都是符合作為參數的函數要求才可以,比如在列子中求極值得保證所有字段都是數值型才行,如果整個DataFrame不能滿足要求,可以把符合要求的字段切出來再應用apply。

如果有需要,也可以把求的結果添加到原表當中。

apply應用到Series中

如這個例子,將A列的所有元素轉換數據類型,從整型轉換成浮點型:

 

一文弄懂apply、map和applymap三種函數的區別

 

總結一下,apply運用到整個DataFrame中可以執行整列或者整行的運算,運用到Series中,執行的是對每個元素的運算。

這個運算,map也可以實現。

map

首先,還是看下官方文檔是怎么說的:

  • 根據輸入對應關系映射Series的值。
  • 用于將Series中的每個值替換為另一個值,該值可以從函數dict或Series派生。

官方指定,map是應用于Seriesd 的,參數可以是函數也可以字典。

首先,還是要有一個表:

 

一文弄懂apply、map和applymap三種函數的區別

 

現在需要將性別轉換成0和1,女為0,男為1,這個時候千萬不要寫循環啊,map()可以輕松實現,先來試試函數的形式:

def gender(x): G = 1 if x == "男" else 0 return G

 

一文弄懂apply、map和applymap三種函數的區別

 

map的參數除了可以是參數,也可以是字典,這和apply對參數的要求不同:

 

一文弄懂apply、map和applymap三種函數的區別

 

applymap

最后來看一下applymap,還是先搬上官方文檔:

  • 將函數應用于元素的數據框。
  • 此方法應用一個函數,該函數接受并返回一個標量到DataFrame的每個元素。

簡單說,applymap是把函數應用到DataFrame中的每個元素上的,要和apply對整列或者整行進行的操作區分開啊,apply想要直接對每個元素進行操作,得單獨提取出Series才可以實現,不能直接再整個DataFrame上執行。下邊來看個例子。

還是開頭的那個表:

 

一文弄懂apply、map和applymap三種函數的區別

 

現在要把每個元素的數據類型都轉換成浮點型,applymap()就派上用場了:

 

一文弄懂apply、map和applymap三種函數的區別

 

最后再總結一下:

apply:

  • 既可以用在DataFrame,也可以用到單獨的Series中
  • 運用到DataFrame時,是用到了整行或者整列上,不是逐一運用到每個元素上
  • 運用到Series時,作用到每個元素上
  • 第一個參數只接收python原生函數或者numpy中的函數

map

  • 只能運用到Series的每個元素上
  • 參數可以是函數也可以是字典,還可以是序列

applymap

  • 只能應用在DataFrame中,并且是作用在DataFrame的每個元素中
  • 參數只接收可調用的函數

常用的用法呢就是前邊舉的例子中的那些了,希望這邊文章能幫助大家分清apply、map和applymap并能靈活運用它們。

責任編輯:華軒 來源: 今日頭條
相關推薦

2025-04-11 11:00:00

存儲技術DASSAN

2020-11-24 10:13:02

Redis集群數據庫

2025-05-12 08:50:00

apply()Pandas函數

2023-11-28 09:31:55

MySQL算法

2022-08-09 09:10:43

Kubernetes容器

2022-03-01 20:41:00

機器學習特征人工智能

2022-08-03 08:01:16

CDN網站服務器

2023-03-30 08:52:40

DartFlutter

2023-03-27 17:58:34

MySQL加鎖間隙鎖

2021-06-02 05:43:36

比特幣虛擬貨幣區塊鏈

2023-12-12 07:31:51

Executors工具開發者

2022-09-01 08:01:56

Pythongunicorn

2024-05-09 10:11:30

2024-08-05 00:05:00

操作系統內存管理

2023-07-25 09:53:00

LGACPU數字

2023-09-18 08:02:45

CSS布局屬性

2023-10-26 16:27:50

前端 WebCSS開發

2021-12-20 07:59:07

Go語言結構體

2022-01-04 08:54:32

Redis數據庫數據類型

2020-09-04 06:35:28

Redis復制哨兵
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日欧美 | 国产精品久久久久久久久久久免费看 | 亚洲一区二区在线播放 | 国产亚洲欧美日韩精品一区二区三区 | 色香婷婷| 天天干天天爱天天 | 国产精品久久久久久52avav | 亚洲高清久久 | 91精品一区二区三区久久久久 | 国产伦一区二区三区 | 亚洲精品视频一区二区三区 | 在线观看国产 | 午夜精品福利视频 | 亚洲国产一区二区三区, | 久久伊| 国产99视频精品免费播放照片 | 亚洲二区视频 | 久久久激情 | 午夜免费在线 | 伊人久久伊人 | 国内自拍偷拍视频 | 成人在线观看免费视频 | 91精品国产高清一区二区三区 | 国产一区二区三区欧美 | 欧美寡妇偷汉性猛交 | 精品一区二区久久久久久久网精 | 91在线电影 | av片在线观看 | 在线免费观看黄a | 久草久草久草 | 亚洲综合精品 | 国产激情91久久精品导航 | a毛片 | 免费在线观看毛片 | 久久久久久综合 | 日韩色综合| 激情国产 | 国产一区二区欧美 | 国产999精品久久久 日本视频一区二区三区 | 亚洲欧美在线一区 | 久久精品欧美视频 |