欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python數據分析之缺失值檢測與處理詳解

 更新時間:2021年12月02日 15:35:17   作者:Dream丶Killer  
在實際的數據處理中,缺失值是普遍存在的,如何使用 Python 檢測和處理缺失值,就是本文要講的主要內容。感興趣的同學可以關注一下

檢測缺失值

我們先創(chuàng)建一個帶有缺失值的數據框(DataFrame)。

import pandas as pd

df = pd.DataFrame(
    {'A': [None, 2, None, 4],
     'B': [10, None, None, 40], 
     'C': [100, 200, None, 400],
     'D': [None, 2000, 3000, None]})
df

數值類缺失值在 Pandas 中被顯示為 NaN (Not A Number)。下面看看如何判斷哪些列或者哪些行有缺失值。

1.info()

info() 返回的結果中,我們只需要觀察每一列對應的 Non-Null Count 的數量是否等于 RangeIndex(索引范圍) 即可。

2.isnull()

isnull() 返回一個與原 DataFrame 大小(列數,行數)相同的數據框,行列對應的數據代表著該位置是否為缺失值。

df.isnull()

使用 sum() 來檢測每列中的缺失值的數量。

df.isnull().sum()

通過 .T 將 DataFrame 轉置,獲取檢測每行中缺失值的數量。

df.isnull().T.sum()

缺失值處理

刪除缺失值

如果出現缺失值的行/列重要性不大的話,可以直接使用 dropna() 刪除帶有缺失值的行/列。

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

參數含義

  • axis:控制行列的參數,0 行,1 列。
  • how:any,如果有 NaN,刪除該行或列;all,如果所有值都是 NaN,刪除該行或列。
  • thresh:指定 NaN 的數量,當 NaN 數量達到才刪除。
  • subset:要考慮的數據范圍,如:刪除缺失行,就用subset指定參考的列,默認是所有列。
  • inplace:是否修改原數據,True直接修改原數據,返回 None,False則返回處理后的數據框。

指定 axis = 1,如果列中有缺失值,則刪除該列。

df.dropna(axis=1, how='any')

由于每列都有缺失值,所以只剩索引。

指定 axis = 0(默認),如果行中有缺失值,則刪除該行。

df.dropna(axis=0, how='any')

以 ABC 列為參照,刪除這三列都是缺失值的行。

df.dropna(axis=0, subset=['A', 'B', 'C'], how='all')

保留至少有3個非NaN值的行。

df.dropna(axis=0, thresh=3)

填補缺失值

另一種常見的缺失值處理方式就是使用 fillna() 填補缺失值。

df.fillna(value=None,
          method=None,
          axis=0,
          inplace=False,
          limit=None)

1. 直接指定填充值

df.fillna(666)

2.用缺失值前/后的值填充

按前一個值填充

當method 值為 ffill 或 pad時,按前一個值進行填充。

當 axis = 0,用缺失值同一列的上一個值填充,如果缺失值在第一行則不填充。

當 axis = 1,用缺失值同一行的上一個值填充,如果缺失值在第一列則不填充。

df.fillna(axis=0, method='pad')

按后一個值填充

當method 值為 backfill 或 bfill時,按后一個值進行填充。

當 axis = 0,用缺失值同一列的下一個值填充,如果缺失值在最后一行則不填充。

當 axis = 1,用缺失值同一行的下一個值填充,如果缺失值在最后一列則不填充。

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

指定相應的方法來填充

df.fillna(df.mean())

limit限制填充次數

在ABCD列上,每列只填充第一個空值。

df.fillna(value=666, axis=1, limit=1)

以上就是Python數據分析之缺失值檢測與處理詳解的詳細內容,更多關于Python 缺失值檢測處理的資料請關注腳本之家其它相關文章!

相關文章

  • Numpy數組的組合與分割實現的方法

    Numpy數組的組合與分割實現的方法

    本文主要介紹了Numpy數組的組合與分割實現的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python中encode和encoding的區(qū)別小結

    Python中encode和encoding的區(qū)別小結

    Python是一種非常流行的高級編程語言,它提供了許多內置函數和庫來方便地處理文本數據,其中,encode和encoding是處理文本編碼的重要概念,本文就來介紹一下Python中encode和encoding的區(qū)別小結,感興趣的可以了解一下
    2023-11-11
  • python基礎之文件處理知識總結

    python基礎之文件處理知識總結

    今天帶大家了解python文件處理的相關知識,文中介紹的非常詳細,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • python實現的守護進程(Daemon)用法實例

    python實現的守護進程(Daemon)用法實例

    這篇文章主要介紹了python實現的守護進程(Daemon)用法,實例分析了Python進程操作的相關技巧,需要的朋友可以參考下
    2015-06-06
  • python二叉樹常用算法總結

    python二叉樹常用算法總結

    這篇文章主要分享的是python二叉樹常用算法,二叉樹的遞歸思想很重要,還有遞歸的復雜度分析,需下面文章就來詳細解說該算法,要的朋友可以參考一下
    2021-09-09
  • flask后端request獲取參數的幾種方式整理

    flask后端request獲取參數的幾種方式整理

    這篇文章主要為大家介紹了flask后端request獲取參數的幾種方式整理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 新一代Python包管理工具

    新一代Python包管理工具

    這篇文章主要介紹了新一代Python包管理工具,Python包管理工具,一般就會想到想到pip、conda等經典工具,本篇文章要介紹的是一款新穎的Python包管理工具pdm,需要的小伙伴可以參考一下
    2022-02-02
  • Python實現將Excel內容批量導出為PDF文件

    Python實現將Excel內容批量導出為PDF文件

    這篇文章主要為大家介紹了如何利用Python實現將Excel表格內容批量導出為PDF文件,文中的實現步驟講解詳細,感興趣的小伙伴可以了解一下
    2022-04-04
  • 漂亮的Django Markdown富文本app插件的實現

    漂亮的Django Markdown富文本app插件的實現

    這篇文章主要介紹了漂亮的Django Markdown富文本app插件的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python requests.post帶head和body的實例

    python requests.post帶head和body的實例

    今天小編就為大家分享一篇python requests.post帶head和body的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論