一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python數據分析之缺失值檢測與處理詳解

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

2022-03-11 10:18Dream丶Killer Python

在實際的數據處理中,缺失值是普遍存在的,如何使用 Python 檢測和處理缺失值,就是本文要講的主要內容。感興趣的同學可以關注一下

檢測缺失值

我們先創建一個帶有缺失值的數據框(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

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

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

1.info()

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

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

2.isnull()

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

df.isnull()

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

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

df.isnull().sum()

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

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

df.isnull().T.sum()

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

 

缺失值處理

刪除缺失值

如果出現缺失值的行/列重要性不大的話,可以直接使用 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')

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

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

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

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

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

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

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

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

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

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

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

填補缺失值

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

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

1. 直接指定填充值

df.fillna(666)

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

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

按前一個值填充

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

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

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

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

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

按后一個值填充

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

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

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

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

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

指定相應的方法來填充

df.fillna(df.mean())

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

limit限制填充次數

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

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

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

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

原文鏈接:https://blog.csdn.net/qq_43965708/article/details/121297449

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日本韩国不卡在线视频 | 美女毛片视频 | 欧美在线一级片 | 动漫精品一区二区三区3d | 欧美精品亚洲精品日韩1818 | 黄瓜视频免费 | 色综合色综合 | 精品视频一区在线观看 | www视频免费看 | 思思玖玖玖在线精品视频 | 91精品国产91久久久久久麻豆 | 亚洲精品色婷婷在线影院麻豆 | 草草视频免费观看 | 欧美综合亚洲图片综合区 | 欧美高清在线 | 好大好硬好深好爽想要之黄蓉 | 国产第一福利视频导航在线 | 国产成人精品午夜视频' | 国内久久婷婷综合欲色啪 | 成年人福利视频 | 天天成人| 久久视频这只精品99re6 | 99久久精品在免费线18 | 2012年免费中文视频 | 亚洲人影院 | 国产乱子伦一区二区三区 | 国产人成77777视频网站 | 亚洲国产精品成人综合久久久 | 亚洲一级特黄 | 欧洲vodafonewi精品| 男人天堂bt | 99在线视频精品费观看视 | 女人被爽到呻吟娇喘的视频动态图 | 调教催眠| 男人与禽交的方法 | 国产午夜亚洲精品理论片不卡 | 成年美女黄网站色视频大全免费 | 亚洲AV无码国产精品色在线看 | 亚洲26uuuu最新地址 | 国产精品一区二区久久不卡 | 我与么公激情性完整视频 |