中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apply、Map和Aplymap三者的區別是什么

發布時間:2021-07-28 14:10:02 來源:億速云 閱讀:170 作者:Leah 欄目:web開發

Apply、Map和Aplymap三者的區別是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

首先,來個總結

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

  • map:應用在單獨一個Series的每個元素中

  • applymap:應用在DataFrame的每個元素中

apply

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

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

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

首先有一個表:

Apply、Map和Aplymap三者的區別是什么

apply應用到DataFrame中

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

Apply、Map和Aplymap三者的區別是什么

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

Apply、Map和Aplymap三者的區別是什么

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

Apply、Map和Aplymap三者的區別是什么

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

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

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

apply應用到Series中

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

Apply、Map和Aplymap三者的區別是什么

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

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

map

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

  • 根據輸入對應關系映射Series的值。

  • 用于將Series中的每個值替換為另一個值,該值可以從函數dict或Series派生。

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

首先,還是要有一個表:

Apply、Map和Aplymap三者的區別是什么

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

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

Apply、Map和Aplymap三者的區別是什么

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

Apply、Map和Aplymap三者的區別是什么

applymap

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

  • 將函數應用于元素的數據框。

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

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

還是開頭的那個表:

Apply、Map和Aplymap三者的區別是什么

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

Apply、Map和Aplymap三者的區別是什么

最后再總結一下:

apply:

  • 既可以用在DataFrame,也可以用到單獨的Series中

  • 運用到DataFrame時,是用到了整行或者整列上,不是逐一運用到每個元素上

  • 運用到Series時,作用到每個元素上

  • 第一個參數只接收python原生函數或者numpy中的函數

map

  • 只能運用到Series的每個元素上

  • 參數可以是函數也可以是字典,還可以是序列

applymap

  • 只能應用在DataFrame中,并且是作用在DataFrame的每個元素中

  • 參數只接收可調用的函數

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渝中区| 鱼台县| 剑川县| 波密县| 习水县| 佛冈县| 微山县| 固安县| 德阳市| 镶黄旗| 彭阳县| 呈贡县| 阆中市| 邢台县| 郯城县| 洛川县| 洞头县| 明星| 罗田县| 塔河县| 嘉黎县| 海安县| 翁源县| 治多县| 沿河| 青海省| 历史| 正宁县| 弥勒县| 玉林市| 桓台县| 星子县| 北票市| 莲花县| 吕梁市| 共和县| 巨野县| 定日县| 西华县| 台中市| 太湖县|