中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中缺失值怎么處理

發布時間:2021-12-02 15:48:37 來源:億速云 閱讀:189 作者:iii 欄目:開發技術

這篇文章主要介紹“Python中缺失值怎么處理”,在日常操作中,相信很多人在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中缺失值怎么處理”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

营口市| 天祝| 浙江省| 五家渠市| 枣强县| 临城县| 嘉祥县| 长春市| 南丹县| 竹溪县| 贺州市| 隆安县| 图木舒克市| 保靖县| 阿巴嘎旗| 苏尼特右旗| 沛县| 潜江市| 水富县| 千阳县| 鄂州市| 内丘县| 东城区| 黎城县| 弥渡县| 镇沅| 高邑县| 新疆| 恩施市| 尚义县| 五莲县| 吉隆县| 泉州市| 观塘区| 黄冈市| 延庆县| 潢川县| 苍南县| 新化县| 高州市| 犍为县|