久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > DataFrame之缺失值處理

        DataFrame之缺失值處理

        來源:千鋒教育
        發(fā)布人:syq
        時間: 2022-08-12 14:52:17 1660287137

          只要和數(shù)據(jù)打交道,就不可能不面對一個令人頭疼的問題-數(shù)據(jù)集中存在空值。空值處理,是數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)清洗的重要內(nèi)容之一。本篇文章更加細(xì)致的討論一下空值在Pandas中的判斷和處理。

        DataFrame之缺失值處理

          #### pandas對空值的表現(xiàn)

          首先我們有三張表格:  

        屏幕快照 2021-05-26 下午4.37.06

          在jupyter notebook中我們讀取數(shù)據(jù)如下:  

        屏幕快照 2021-05-26 下午4.31.58

          通過對比我們發(fā)現(xiàn):

          > 1. 不加入空格時,序號列被讀為float型,出生日期列被讀為datetime64型,而加入了空格后,統(tǒng)一解讀為object型。

          >

          > 2. 不加入空格時,序號列和姓名列中的缺失值默認(rèn)為NaN,而時間則為NaT,而加了空格后,缺失值統(tǒng)一為NaN。

          > 3. 當(dāng)時間識別為datetime64類型時,其格式就是輸入的格式,但其識別為字符串時,格式會統(tǒng)一加上時分秒。

          #### 判斷缺失值

          缺失值:在DataFrame中讀出數(shù)據(jù)顯示為NaN或者NaT(缺失時間),在Series中為None或者NaN均可。

          快速確認(rèn)數(shù)據(jù)集中是不是存在缺失值。有兩個函數(shù) **isnull, isna**,這兩個函數(shù)可以幫助我們快速定位數(shù)據(jù)集中每個元素是否為缺失值。

          ##### isna(isnull)的使用:

          先說一下被問過很多次的問題,就是isna和isnull的區(qū)別?我們看一下如下代碼:  

        屏幕快照 2021-05-26 下午6.11.19

          說明其實這兩個是一個函數(shù),isnull就是isna。ok明白了嗎?

          下面我們看如何使用isna,以上面的表格數(shù)據(jù)為例:

          查看所有列的缺失值情況

          ```

          import pandas as pd

          ts2 = pd.read_excel('table1.xlsx',sheet_name='Sheet2',encoding='gbk') # 注意編碼設(shè)置根據(jù)情況設(shè)置也可以省略

          pd.isna(ts2) # 或者ts2.isna()

          ```

          結(jié)果:  

        屏幕快照 2021-05-26 下午6.43.09

          查看某一列的缺失值情況

          ```

          pd.isna(ts2['出生日期']) # ts2['出生日期'].isna()

        屏幕快照 2021-05-26 下午6.12.59

          ```找出出生日期有缺失值的行,當(dāng)然也可以是其他的列名

          ```

          ts2[ts2['出生日期'].isna()]

          ```  

        屏幕快照 2021-05-26 下午6.51.50

          #### 缺失值處理

          對缺失值的處理主要有兩種方式:

          > 1. 填充

          >

          > 2. 刪除

          ##### 缺失值填充

          缺失值的填充我們使用:fillna。

          > **DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)**

          >

          > **函數(shù)作用:填充缺失值**

          value: 需要用什么值去填充缺失值

          axis: 確定填充維度,從行開始或是從列開始

          method:ffill:用缺失值前面的一個值代替缺失值,如果axis =1,那么就是橫向的前面的值替換后面的缺失值,如果axis=0,那么則是上面的值替換下面的缺失值。backfill/bfill,缺失值后面的一個值代替前面的缺失值。注意這個參數(shù)不能與value同時出現(xiàn)

          limit:確定填充的個數(shù),如果limit=2,則只填充兩個缺失值。

          ```

          # 仍然是上面的數(shù)據(jù):Sheet1

          ts1 = pd.read_excel('table1.xlsx',sheet_name='Sheet1')

          ts1.fillna(axis=0,method='bfill')

          ts1.fillna(axis=0,method='ffill')

          ts1.fillna(axis=1,method='bfill') # 當(dāng)前axis=1沒有太大意義,還破壞了結(jié)構(gòu)

          ```  

        屏幕快照 2021-05-26 下午7.07.19

          也可以使用fillna(固定value)填充所有或者填充某列內(nèi)容  

        屏幕快照 2021-05-26 下午7.32.27

          如果加上limit參數(shù)就會對每列出現(xiàn)的替換值有次數(shù)限制。

          ##### 缺失值刪除

          > DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

          >

          > 函數(shù)作用:刪除含有空值的行或列

          >

          axis:維度,axis=0表示index行,axis=1表示columns列,默認(rèn)為0

          how: "all"表示這一行或列中的元素全部缺失(為NaN)才刪除這一行或列,"any"表示這一行或列中只要有元素缺失,就刪除這一行或列

          thresh: 一行或一列中至少出現(xiàn)了thresh個才刪除。

          subset:在某些列的子集中選擇出現(xiàn)了缺失值的列刪除,不在子集中的含有缺失值得列或行不會刪除(有axis決定是行還是列)

          inplace:刷選過缺失值得新數(shù)據(jù)是存為副本還是直接在原數(shù)據(jù)上進行修改。  

        屏幕快照 2021-05-26 下午7.43.52  

        屏幕快照 2021-05-26 下午7.45.15

          注意一下inplace參數(shù),inplace默認(rèn)為False是返回新的數(shù)據(jù)集,而如果inplace為True則表示在原數(shù)據(jù)集上操作。  

        屏幕快照 2021-05-27 上午10.02.24

          更多關(guān)于“Python 培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        反欺詐中所用到的機器學(xué)習(xí)模型有哪些?

        一、邏輯回歸模型邏輯回歸是一種常用的分類模型,特別適合處理二分類問題。在反欺詐中,邏輯回歸可以用來預(yù)測一筆交易是否是欺詐。二、決策樹模...詳情>>

        2023-10-14 14:09:29
        軟件開發(fā)管理流程中會出現(xiàn)哪些問題?

        一、需求不清需求不明確是導(dǎo)致項目失敗的主要原因之一。如果需求沒有清晰定義,開發(fā)人員可能會開發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問...詳情>>

        2023-10-14 13:43:21
        軟件定制開發(fā)中的敏捷開發(fā)是什么?

        軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

        2023-10-14 13:24:57
        什么是PlatformIo?

        PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

        2023-10-14 12:55:06
        云快照與自動備份有什么區(qū)別?

        1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

        2023-10-14 12:48:59
        泾阳县| 崇州市| 同德县| 兰西县| 尉犁县| 延寿县| 兰溪市| 石首市| 中山市| 珠海市| 高平市| 白山市| 新绛县| 广河县| 沂南县| 青海省| 遂宁市| 宁明县| 宁夏| 广东省| 称多县| 吉水县| 孟州市| 多伦县| 安顺市| 宜兰县| 高雄市| 项城市| 辽中县| 吉木萨尔县| 平和县| 教育| 石家庄市| 杂多县| 黔南| 富裕县| 沂水县| 鹤壁市| 湖北省| 文登市| 鄂伦春自治旗|