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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品区牛牛影院 | 国内精品99 | 欧美在线国产 | 国产在线精品香蕉综合网一区 | 娇喘高潮教室h | h视频免费高清在线观看 | 午夜dj影院在线观看完整版 | 手机在线观看网站免费视频 | 久久久无码精品无码国产人妻丝瓜 | 美女班主任让我爽了一夜视频 | 暖暖的韩国免费观看 | 99久视频| 日韩欧美国产综合精品 | 青青青国产精品国产精品美女 | 91免费精品国自产拍在线可以看 | 亚洲成人三级 | 喷奶水榨乳ova动漫无修 | 国产嫩草视频 | chinses台湾男同志hd | 国内体内she精视频免费 | 日韩欧美国内 | chinese帅男gayvideo | 天天曰天天干 | 男生同性啪视频在线观看 | 青青艹视频在线 | 亚洲 欧美 国产 综合 在线 | 3d美女触手怪爆羞羞漫画 | 好男人资源免费播放在线观看 | 九九精品视频在线观看九九 | 国产精品酒店视频免费看 | 含羞草传媒网站免费进入欢迎 | 青草国产在线视频 | 99久久综合九九亚洲 | 福利视频一区二区思瑞 | 美女靠逼免费网站 | 久久综合色超碰人人 | 日韩一区二三区无 | 91寡妇天天综合久久影院 | 99热免费在线 | 亚洲午夜精品久久久久 | 欧美色阁 |