国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)分析】Python:處理缺失值的常見方法

這篇具有很好參考價值的文章主要介紹了【數(shù)據(jù)分析】Python:處理缺失值的常見方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在數(shù)據(jù)分析和機器學(xué)習(xí)中,缺失值是一種常見的現(xiàn)象。在實際數(shù)據(jù)集中,某些變量的某些條目可能沒有可用的值。處理缺失值是一個重要的數(shù)據(jù)預(yù)處理步驟。在本文中,我們將介紹如何在 Pandas 中處理缺失值。

我們將探討以下內(nèi)容:

  • 什么是缺失值;

  • 如何在 Pandas 中識別缺失值;

  • 處理缺失值的常見方法;

  • Pandas 中處理缺失值的代碼示例;

  1. 我們還提供了一個隨機生成的包含缺失值的較大數(shù)據(jù)集,可以使用這個數(shù)據(jù)集來練習(xí)和嘗試這些方法。

===

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

01.什么是缺失值

缺失值是指數(shù)據(jù)集中某些變量的某些條目缺少值。這些條目可以是空值、NaN(不是數(shù)字)或其他標記。缺失值可能是由于數(shù)據(jù)輸入錯誤、數(shù)據(jù)丟失或其他原因?qū)е碌?。在分析?shù)據(jù)集時,缺失值可能會影響結(jié)果,因此需要對其進行處理。在 Pandas 中,缺失數(shù)據(jù)由兩個值表示:None:None 通常用于 Python 代碼中的缺失數(shù)據(jù),NaN :NaN(Not a Number 的首字母縮寫詞)。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

02.如何在 Pandas 中識別缺失值

在 Pandas 中,我們可以使用 isnull() 或 notnull() 函數(shù)來識別缺失值。不同之處在于,isnull()函數(shù)發(fā)現(xiàn)數(shù)據(jù)中有空值或缺失值的時候返回True,notnull()返回的是False。 這些函數(shù)返回一個布爾數(shù)組,該數(shù)組指示每個元素是否為空值。例如,假設(shè)我們有一個數(shù)據(jù)框 df,我們可以使用以下代碼檢查缺失值。

import pandas as pd # 創(chuàng)建一個包含缺失值的數(shù)據(jù)框 df = pd.DataFrame({‘A’: [1, 2, None, 4, None], ‘B’: [5, None, 7, 8, None]}) # 檢查數(shù)據(jù)框中的缺失值 print(df.isnull()) df

輸出結(jié)果為,如下在第3行第1列和第2行第2列存在缺失值。

        A      B  0  False  False  1  False   True  2   True  False  3  False  False  4   True   True  Out\[2\]:       A    B  0  1.0  5.0  1  2.0  NaN  2  NaN  7.0  3  4.0  8.0

上述代碼將檢查 df 數(shù)據(jù)框中的缺失值,并返回一個布爾數(shù)組,該數(shù)組指示每個元素是否為空值。True 表示該元素是一個缺失值。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

03.處理缺失值的常見方法

在處理缺失值時,我們有許多方法可供選擇。下面是一些常見的方法,函數(shù)形式:dropna(axis=0, how=‘a(chǎn)ny’, thresh=None, subset=None, inplace=False)

3.1

刪除缺失值

刪除缺失值是處理缺失值的最簡單方法之一。我們可以使用 dropna() 函數(shù)從數(shù)據(jù)框中刪除包含缺失值的行或列。例如,如果我們希望刪除包含任何缺失值的行,我們可以使用以下代碼,其中how默認參數(shù)為’any’。

# 刪除包含任何缺失值的行 df.dropna()

刪除時,有一個how參數(shù)介紹如下:

**how:**篩選方式。'any’,表示該行/列只要有一個以上的空值,就刪除該行/列;'all’,表示該行/列全部都為空值,就刪除該行/列。

我們可以使用以下代碼,其中參數(shù)all表示該行/列全部都為空值,就刪除該行/列。

# 刪除的行和列必須都為空值 df.dropna(how=‘a(chǎn)ll’)

如下所示,第一行代碼將所有存在空值的行刪除,而第二行代碼只是將最后一行全空的值刪除。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

如果我們希望只要出現(xiàn)缺失值,就刪除所在的行,我們可以使用以下代碼,設(shè)置參數(shù)為’any’。

# 只要出現(xiàn)缺失值,就刪除 df.dropna(how=‘a(chǎn)ny’)

如果我們希望刪除包含缺失值的列,我們可以使用以下代碼:

  # 刪除包含缺失值的列  df.dropna(axis=1)

如下所示,其中df是原始的值,運行結(jié)果如下可對照結(jié)果進行分析。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

3.2

替換缺失值

替換缺失值是處理缺失值的另一種常見方法。我們可以使用 fillna() 函數(shù)將缺失值替換為其他值。例如,如果我們希望將缺失值替換為 0,我們可以使用以下代碼:

# 將缺失值替換為 0 df.fillna(0)

我們還可以使用其他值來替換缺失值。例如,我們可以使用以下代碼將缺失值替換為每列的平均值:



  # 將缺失值替換為每列的平均值  df.fillna(df.mean())


兩處代碼的運行結(jié)果如下所示,分別對應(yīng)原始值、缺失值替換。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

3.3

插值缺失值

插值是一種更高級的缺失值處理方法。它可以使用現(xiàn)有數(shù)據(jù)來推斷缺失值。我們可以使用 interpolate() 函數(shù)在 Pandas 中進行插值。例如,我們可以使用以下代碼在每列上進行線性插值:

# 線性插值 df.fillna(df.interpolate())

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

04.Pandas 中處理缺失值的完整代碼示例

下面是完整的在 Pandas 中處理缺失值的代碼示例:



import pandas as pd    # 創(chuàng)建一個包含缺失值的數(shù)據(jù)框  df = pd.DataFrame({'A': \[1, 2, None, 4\], 'B': \[5, None, 7, 8\]})    # 檢查數(shù)據(jù)框中的缺失值  print(df.isnull())    # 刪除包含任何缺失值的行  print(df.dropna())    # 刪除整行都是缺失值的行  print(df.dropna(how='all'))    # 刪除包含任何缺失值的行  df.dropna(how='any')    # 刪除包含缺失值的列  print(df.dropna(axis=1))    # 將缺失值替換為 0  print(df.fillna(0))    # 將缺失值替換為每列的平均值  print(df.fillna(df.mean()))    # 線性插值  print(df.interpolate())  print(df.fillna(df.interpolate()))

  



如上所示,我們先介紹了如何在 Pandas 中處理缺失值。我們討論了如何識別缺失值,并介紹了處理缺失值的常見方法。我們還提供了一些代碼示例,以便您可以在自己的項目中使用。處理缺失值是數(shù)據(jù)預(yù)處理的重要步驟,等下我們再介紹一些高級的缺失值處理方法。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

05.高級缺失值處理方法

除了前面提到的基本缺失值處理方法,還有一些高級缺失值處理方法,可以進一步提高數(shù)據(jù)處理的精度。

5.1

多重插補

多重插補是一種使用現(xiàn)有數(shù)據(jù)集中其他相關(guān)變量的信息來推斷缺失值的方法。在 Pandas 中,我們可以使用 fancyimpute 庫來執(zhí)行多重插補。以下是一個示例,結(jié)果也如下所示。

from fancyimpute import IterativeImputer # 創(chuàng)建一個包含缺失值的數(shù)據(jù)框 df = pd.DataFrame({‘A’: [1, 2, None, 4,None], ‘B’: [5, None, 7, 8, None]}) # 使用多重插補 imputer = IterativeImputer() imputed_df = imputer.fit_transform(df) imputed_df

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

5.2

高級回歸模型

對于更復(fù)雜的數(shù)據(jù)集,使用高級回歸模型可以進一步提高缺失值處理的精度。例如,可以使用 XGBoost 或 LightGBM 等模型來處理缺失值。以下是一個使用 LightGBM 處理缺失值的示例:



  import lightgbm as lgb    # 創(chuàng)建一個包含缺失值的數(shù)據(jù)框  df = pd.DataFrame({'A': \[1, 2, None, 4,None\], 'B': \[5, None, 7, 8, None\]})    # 定義 LightGBM 模型  params = {      'objective': 'regression',      'metric': 'mse',      'num\_leaves': 5,      'learning\_rate': 0.05,      'feature\_fraction': 0.5  }    # 使用 LightGBM 處理缺失值  dtrain = lgb.Dataset(df.drop('A', axis=1), label=df\['A'\].dropna())  gbm = lgb.train(params, dtrain)  df\['A'\] = gbm.predict(df.drop('A', axis=1))


當然這個代碼我們還在調(diào)試中呀,可以自己復(fù)制運行下~只有自己寫了才會更加熟悉代碼呀。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

結(jié)論

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

在數(shù)據(jù)處理中,處理缺失值是非常重要的。在 Pandas 中,我們可以使用多種方法來處理缺失值,包括刪除包含缺失值的行或列、替換缺失值和插值缺失值等基本方法。此外,我們還可以使用多重插補和高級回歸模型等高級方法來提高缺失值處理的精度。希望本文能夠幫助更好地處理缺失值,提高數(shù)據(jù)處理的效率和精度。

---------------------------END---------------------------

題外話

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

感興趣的小伙伴,贈送全套Python學(xué)習(xí)資料,包含面試題、簡歷資料等具體看下方。

??CSDN大禮包??:全網(wǎng)最全《Python學(xué)習(xí)資料》免費贈送??!(安全鏈接,放心點擊)

一、Python所有方向的學(xué)習(xí)路線

Python所有方向的技術(shù)點做的整理,形成各個領(lǐng)域的知識點匯總,它的用處就在于,你可以按照下面的知識點去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘
python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

二、Python必備開發(fā)工具

工具都幫大家整理好了,安裝就可直接上手!python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

三、最新Python學(xué)習(xí)筆記

當我學(xué)到一定基礎(chǔ),有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術(shù)點的理解,這些理解是比較獨到,可以學(xué)到不一樣的思路。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

四、Python視頻合集

觀看全面零基礎(chǔ)學(xué)習(xí)視頻,看視頻學(xué)習(xí)是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎(chǔ)到深入,還是很容易入門的。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

五、實戰(zhàn)案例

紙上得來終覺淺,要學(xué)會跟著視頻一起敲,要動手實操,才能將自己的所學(xué)運用到實際當中去,這時候可以搞點實戰(zhàn)案例來學(xué)習(xí)。

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

六、面試寶典

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

簡歷模板python檢查缺失值,數(shù)據(jù)分析,python,數(shù)據(jù)挖掘

??CSDN大禮包??:全網(wǎng)最全《Python學(xué)習(xí)資料》免費贈送??!(安全鏈接,放心點擊)

若有侵權(quán),請聯(lián)系刪除文章來源地址http://www.zghlxwxcb.cn/news/detail-774982.html

到了這里,關(guān)于【數(shù)據(jù)分析】Python:處理缺失值的常見方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)據(jù)缺失值的4種處理方法

    缺失值的產(chǎn)生的原因多種多樣,主要分為機械原因和人為原因。機械原因是由于機械原因?qū)е碌臄?shù)據(jù)收集或保存的失敗造成的數(shù)據(jù)缺失,比如數(shù)據(jù)存儲的失敗,存儲器損壞,機械故障導(dǎo)致某段時間數(shù)據(jù)未能收集(對于定時數(shù)據(jù)采集而言)。 人為原因是由于人的主觀失誤、歷史

    2024年02月04日
    瀏覽(17)
  • Python數(shù)據(jù)分析實戰(zhàn)-dataframe篩選某字段包含(模糊匹配)某些值的記錄(附源碼和實現(xiàn)效果)

    Python數(shù)據(jù)分析實戰(zhàn)-dataframe篩選某字段包含(模糊匹配)某些值的記錄(附源碼和實現(xiàn)效果)

    實現(xiàn)功能 Python利用df[\\\'\\\'].str.contains()對dataframe篩選某字段包含(模糊匹配)某些值的記錄 實現(xiàn)代碼 實現(xiàn)效果 ?本人讀研期間發(fā)表5篇SCI數(shù)據(jù)挖掘相關(guān)論文,現(xiàn)在某研究院從事數(shù)據(jù)挖掘相關(guān)科研工作,對數(shù)據(jù)挖掘有一定認知和理解,會結(jié)合自身科研實踐經(jīng)歷不定期分享關(guān)于pytho

    2024年02月15日
    瀏覽(21)
  • 100天精通Python(數(shù)據(jù)分析篇)——第68天:Pandas數(shù)據(jù)清洗函數(shù)大全(判斷缺失、刪除空值、填補空值、替換元素、分割元素)
  • 數(shù)據(jù)分析課程設(shè)計(數(shù)學(xué)建模+數(shù)據(jù)分析+數(shù)據(jù)可視化)——利用Python開發(fā)語言實現(xiàn)以及常見數(shù)據(jù)分析庫的使用

    數(shù)據(jù)分析課程設(shè)計(數(shù)學(xué)建模+數(shù)據(jù)分析+數(shù)據(jù)可視化)——利用Python開發(fā)語言實現(xiàn)以及常見數(shù)據(jù)分析庫的使用

    目錄 數(shù)據(jù)分析報告——基于貧困生餐廳消費信息的分類與預(yù)測 一、數(shù)據(jù)分析背景以及目標 二、分析方法與過程 數(shù)據(jù)探索性與預(yù)處理 合并文件并檢查缺失值 2.計算文件的當中的值 消費指數(shù)的描述性分析 首先對數(shù)據(jù)進行標準化處理 聚類模型的評價 聚類模型的結(jié)果關(guān)聯(lián) 利用決

    2024年02月12日
    瀏覽(22)
  • 數(shù)據(jù)分析過程中,發(fā)現(xiàn)數(shù)值缺失,怎么辦?

    按照數(shù)據(jù)缺失機制,數(shù)據(jù)分析過程中,我們可以將其分為以下幾類: (1)完全隨機缺失(MCAR):所缺失的數(shù)據(jù)發(fā)生的概率既與已觀察到的數(shù)據(jù)無關(guān),也與未觀察到的數(shù)據(jù)無關(guān)。 (2)隨機缺失(MAR):假設(shè)缺失數(shù)據(jù)發(fā)生的概率與所觀察到的變量是有關(guān)的,而與未觀察到的數(shù)

    2024年02月05日
    瀏覽(23)
  • R語言中缺失值的處理

    R語言中缺失值的處理

    目錄 一.尋找缺失值 1.complete.cases() 2.manyNAs 二.缺失值的處理 1.直接刪除 2.填補缺失值 一.尋找缺失值 1.complete.cases() 2.manyNAs 二.缺失值的處理 1.直接刪除 (1)na.omit() (2)刪除缺失值較多的記錄 2.填補缺失值 (1)根據(jù)相關(guān)關(guān)系填補缺失值 PO4=42.897+1.293*oPO4? #如果PO4為缺失值,可以

    2024年02月10日
    瀏覽(17)
  • python大數(shù)據(jù)分析處理

    Python在大數(shù)據(jù)分析處理方面有著廣泛的應(yīng)用,其豐富的庫和生態(tài)系統(tǒng)讓Python更加易于使用和定制。本文將介紹Python在大數(shù)據(jù)分析處理方面的示例。 首先,我們需要導(dǎo)入一些核心的Python庫,例如numpy、pandas和matplotlib。這些庫不僅提供基本的數(shù)組、表格和繪圖功能,還能幫助處理

    2024年02月08日
    瀏覽(21)
  • Python數(shù)據(jù)分析處理報告--實訓(xùn)小案例

    Python數(shù)據(jù)分析處理報告--實訓(xùn)小案例

    目錄 1、實驗一 1.1、題目總覽 1.2、代碼解析 2、實現(xiàn)二 2.1、題目總覽 2.2、代碼解析 3、實驗三 3.1、題目總覽 3.2、代碼解析 4、實驗四 3.1、題目總覽 3.2、代碼解析 哈嘍~ 今天學(xué)習(xí)記錄的是數(shù)據(jù)分析實訓(xùn)小案例。 就用這個案例來好好鞏固一下 python 數(shù)據(jù)分析三劍客。 前期準備

    2024年02月10日
    瀏覽(24)
  • 基于Python的微信聊天記錄分析——數(shù)據(jù)處理與分析

    基于Python的微信聊天記錄分析——數(shù)據(jù)處理與分析

    本篇為《基于Python的微信聊天記錄分析》系列的第二篇,主要講解獲取到聊天記錄數(shù)據(jù)之后,在Python環(huán)境下對其進行數(shù)據(jù)處理、分析和可視化,涉及庫的安裝、相關(guān)操作的Python代碼等內(nèi)容。希望和大家多多交流,共同進步! 數(shù)據(jù)分析的基礎(chǔ)是“數(shù)據(jù)”,俗話說基礎(chǔ)不牢,地動

    2024年02月19日
    瀏覽(89)
  • Python數(shù)據(jù)分析之特征處理筆記三——特征預(yù)處理(特征選擇)

    Python數(shù)據(jù)分析之特征處理筆記三——特征預(yù)處理(特征選擇)

    書接上文,進行數(shù)據(jù)清洗過程后,我們得到了沒有空值、異常值、錯誤值的數(shù)據(jù),但想要用海量的數(shù)據(jù)來建立我們所需要的算法模型,僅僅是數(shù)據(jù)清洗的過程是不夠的,因為有的數(shù)據(jù)類型是數(shù)值,有的是字符,怎樣將不同類型的數(shù)據(jù)聯(lián)系起來?以及在保證最大化信息量的前提

    2024年02月02日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包