Python數據分析—apply函數

2021-03-02 阿黎逸陽的代碼
在對海量數據進行分析的過程中,我們可能要把文本型的數據處理成數值型的數據,方便放到模型中進行使用。也可能需要把數值型的數據分段進行處理,比如變量的woe化。而這些操作都可以藉助python中的apply函數進行處理。

今天介紹數據分析的第四課,教大家如何在python中用apply函數對數據框進行一些複雜一點的操作。

把字符型的數據處理成數值型

把數值型的數據分段處理

 1   把字符型的數據處理成數值型

假設要在原數據框中把性別這一列,」男「字符替換成1、「女」字符替換成0,並生成一個新列。
def replace_gender_to_num(val):    if val=='男':        return 1    else:        return 0

date_frame.gender.apply(replace_gender_to_num)

至此,原gender列中「男」字符替換成1,「女」字符替換成0。
date_frame['new_gender'] = date_frame.gender.apply(replace_gender_to_num)

可以發現性別為男,在new_gender中對應值為1,性別為女在new_gender中對應值為0。

 2   把數值型的數據分段處理

在建模過程中,要把不同分段的值轉化成對應的woe,需要用到apply函數進行處理。類似的,在這個實例中假設要把身高高於1.8的同學當成第一類,身高高於1.65的當成第二類,其餘的同學當成第三類。
def height_to_class(val):    if val>=1.8:        return 1    elif val>=1.65:        return 2    else:        return 3

然後用apply函數調用該函數,並把得到的結果值保存到原數據框中去,具體語句如下:
date_frame['heigth_class'] = date_frame.height.apply(height_to_class)

至此,在python中應用apply函數進行數據處理已介紹完畢,大家可以動手練習一下,思考一下apply函數還有沒有別的用途。

娛樂圈排行榜動態條形圖繪製

轉發與在看是更好的支持

相關焦點

  • Python數據分析中第二好用的函數 | apply
    做人嘛,最重要的就是謙虛,做函數也是一樣的,而apply就是這樣一個優雅而謙虛的函數。我們單獨用一篇來為apply樹碑立傳,原因有二,一是因為apply函數極其靈活高效,甚至是重新定義了pandas的靈活,一旦熟練運用,在數據清洗和分析界可謂是「屠龍在手,天下我有」;二是apply概念相對晦澀,需要結合具體案例去咀嚼和實踐。appl
  • python進程池Pool的apply與apply_async到底怎麼用?
    多進程python中使用multiprocessing模塊實現多進程。Type:      methodPool 中提供了如下幾個方法:apply()apply_async()map()map_async()close()terminal()join()這裡主要說一下apply和apply_async兩個,其他的內容可以進行百度搜索
  • python並發函數apply_async踩坑記錄
    筆者近期在工作中使用python的multiprocessing庫中的並發功能的時候發現:當某個自定義類中的成員變量包含multiprocessing庫中的Pool實例或Manager中的Queue,Lock等實例時,Pool.apply_async並發模塊無法接收以類方法/實例方法類型的函數進行並發。
  • 數據分析工具篇——pandas高效函數
    ,這些方法圍繞數據的查詢結果進行深入處理,在數據分析中主要做特徵處理工作。.str.split('-').strprint(df)某一列中存在固定的分隔符,我們可以採用split函數進行切分,有意思的是我們看到了python的鏈式結構。
  • 【Python】Pandas中的寶藏函數-apply
    False : 將每一行或每一列作為一個Series傳遞給函數。True : 傳遞的函數將接收ndarray 對象。如果你只是應用一個 NumPy 還原函數,這將獲得更好的性能。 2)輸入多列數據apply()最特別的地方在於其可以同時處理多列數據,我們先來了解一下如何處理多列數據輸入單列數據輸出的情況。
  • 一文弄懂apply、map和applymap三種函數的區別
    CDA數據分析師 出品在日常處理數據的過程中,會經常遇到這樣的情況,對一個DataFrame進行逐行、逐列或者逐元素的操作,很多小夥伴也知道需要用到apply、map或者applymap,但是具體什麼情況下運用哪種方法或者說對這些方法了解不夠,用起來暈暈乎乎始終沒有很明白
  • R數據分析:apply()的各種變體你分清了嗎?
    The purpose of apply() is primarily to avoid explicit uses of loop constructs.apply函數的重要作用就是把一個函數給一群數據應用上,這個一群數據可以是data frame, list, vector等等,有什麼好處呢?它可以大大地提高代碼的整潔性和靈活性。
  • python數據分析--回歸函數及線性回歸分析
    1.常見的回歸函數2.工具數據分析有很多成熟的工具可以使用,如R、python、此處我們選用python進行分析。首先,我們需要安裝並導入python數據分析常用的庫。# 工具:python3#固定導入import numpy as np #科學計算基礎庫,多維數組對象ndarrayimport pandas as pd #數據處理庫,DataFrame(二維數組)import matplotlib as mpl #畫圖基礎庫import matplotlib.pyplot
  • 【Python】Pandas中的寶藏函數-applymap
    applymap的用法比較簡單,會對DataFrame中的每個單元格執行指定函數的操作,雖然用途不如apply廣泛,但在某些場合下還是非常有用的。 applymap()是與map()方法相對應的專屬於DataFrame對象的方法,類似map()方法傳入函數、字典等,傳入對應的輸出結果。
  • Pandas高級應用(map()與apply()函數)
    一.map()函數import pandas
  • 從零開始學Python數據分析【4】-- numpy
    # 返回最近的整數np.rint # 判斷是否缺失np.isnan# 判斷是否有限np.isfinite# 判斷是否無限np.isinf# 冪運算np.power# 餘數np.mod統計函數># 最大值np.max# 浮點型的最大值np.fmax# 最小值np.mim# 浮點型的最小值np.fmin# 求和np.sum# 均值np.mean#
  • Pandas數據處理|apply()函數的常規用法
    本文介紹一下關於 Pandas 中 apply() 函數的幾個常見用法,apply() 函數的自由度較高,可以直接對 Series 或者 DataFrame 中元素進行逐元素遍歷操作,方便且高效,具有類似於 Numpy 的特性。
  • R語言學習:可視化分析,Apply家族函數,row_number函數,R4DS學習,數據變換
    01 美國謀殺數據集可視化分析畫圖代碼# 美國謀殺數據集可視化分析library(dslabs)library(tidyverse)library(ggthemes)dataApply家族函數的選擇,可以由數據的結果和想要的結果來決定。Apply家族函數是R語言自帶的函數集,不需要安裝任何額外包就可以使用和執行。1 apply()函數描述
  • Python做數據分析-簡潔、易讀、強大
    由於python是一種解釋性語言,大部分編譯型語言都要比python代碼運行速度快,有些同學就因此鄙視python。但是python是一門高級語言,其生產效率更高,時間通常比CPU的時間值錢,因此為了權衡利弊,考慮用python是值得的。
  • Python數學建模技巧之pandas數據處理
    因此,採用python去分析幾乎就成了唯一的選擇。恰好Python裡面的pandas庫提供了大數據處理分析的基本方法,是分析大型數據集的基礎武器。下面就具體講解一下pandas這個庫裡面最有用的一些函數操作。
  • Python高效數據分析的8個技巧
    源 / Conor Dewey    編譯 / 專知【導讀】不管是參加Kaggle比賽,還是開發一個深度學習應用,第一步總是數據分析,這篇文章介紹了8個使用Python進行數據分析的方法,不僅能夠提升運行效率,還能夠使代碼更加「優美」。
  • R vs Python:硬碰硬的數據分析
    我們會平行使用Python和R分析一個數據集,展示兩種語言在實現相同結果時需要使用什麼樣的代碼。這讓我們了解每種語言的優缺點,而不是猜想。在Dataquest,我們教授兩種語言,並認為兩者在數據科學工具箱中都佔據各自的地位。 我們將會分析一個NBA數據集,包含運動員和他們在2013-2014賽季的表現,可以在這裡下載這個數據集。
  • 呆瓜半小時入門python數據分析_v2
    我發現書店的大量數據分析書籍與實際工作內容相差甚大。書裡把數據分析和,機器學習算法,數據挖掘,人工智慧深度學習知識混雜在一起,這會造成初學者困惑,到底什麼是數據分析?該如何下手學習?如何快速掌握數據分析內容,以後去公司上班時會更加接地氣?我是一名模型專家,平時和數據分析師工作聯繫比較緊密,我比較熟悉數據分析師工作,我建立模型時也會做大量數據分析工作。
  • 8 個 Python 高效數據分析的技巧
    這篇文章介紹了 8 個使用 Python 進行數據分析的方法,不僅能夠提升運行效率,還能夠使代碼更加「優美」。定義某種列表時,寫 For 循環過於麻煩,幸運的是,Python 有一種內置的方法可以在一行代碼中解決這個問題。下面是使用 For 循環創建列表和用一行代碼創建列表的對比。
  • python 學習之 R and Python: 循環函數
    1引言我們看看在 R 裡和 Python 裡這些 lapply,apply,mapply,tapply,split, 函數的不同實現方式。Python 裡是沒有這類函數的, 除了 apply ,但也可以實現類似的方法。