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

Python處理缺失值的8種不同方法實(shí)例

 更新時(shí)間:2022年06月01日 14:51:38   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
缺失值是指粗糙數(shù)據(jù)中由于缺少信息而造成的數(shù)據(jù)的聚類、分組、刪失或截?cái)?下面這篇文章主要給大家介紹了關(guān)于Python處理缺失值的8種不同方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

缺失值可能是數(shù)據(jù)科學(xué)中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當(dāng)?shù)靥幚硭鼈兊姆椒ā?/p>

在本文中,我們將介紹 8 種不同的方法來(lái)解決缺失值問(wèn)題,哪種方法最適合特定情況取決于數(shù)據(jù)和任務(wù)。

讓我們首先創(chuàng)建一個(gè)示例數(shù)據(jù)框并向其中添加一些缺失值。

我們有一個(gè) 10 行 6 列的數(shù)據(jù)框。

下一步是添加缺失值。 我們將使用 loc 方法選擇行和列組合,并使它們等于“np.nan”,這是標(biāo)準(zhǔn)缺失值表示之一。

這是數(shù)據(jù)框現(xiàn)在的樣子:

item 和 measure 1 列具有整數(shù)值,但由于缺少值,它們已被向上轉(zhuǎn)換為浮點(diǎn)數(shù)。

在 Pandas 1.0 中,引入了整數(shù)類型缺失值表示 (),因此我們也可以在整數(shù)列中包含缺失值。 但是,我們需要顯式聲明數(shù)據(jù)類型。

盡管有缺失值,我們現(xiàn)在可以保留整數(shù)列。

現(xiàn)在我們有一個(gè)包含一些缺失值的數(shù)據(jù)框。 是時(shí)候看看處理它們的不同方法了。

1. 刪除有缺失值的行或列

一種選擇是刪除包含缺失值的行或列。

使用默認(rèn)參數(shù)值,dropna 函數(shù)會(huì)刪除包含任何缺失值的行。數(shù)據(jù)框中只有一行沒(méi)有任何缺失值。同時(shí)我們還可以選擇使用軸參數(shù)刪除至少有一個(gè)缺失值的列。

2. 刪除只有缺失值的行或列

另一種情況是有一列或一行充滿缺失值。 這樣的列或行是無(wú)用的,所以我們可以刪除它們。

dropna 函數(shù)也可以用于此目的。 我們只需要改變 how 參數(shù)的值。

3. 根據(jù)閾值刪除行或列

基于“any”或“all”的刪除并不總是最好的選擇。 我們有時(shí)需要?jiǎng)h除具有“大量”或“一些”缺失值的行或列。

我們不能將這樣的表達(dá)式分配給 how 參數(shù),但 Pandas 為我們提供了一種更準(zhǔn)確的方法,即 thresh 參數(shù)。

例如,“thresh=4”意味著至少有 4 個(gè)非缺失值的行將被保留。 其他的將被丟棄。

我們的數(shù)據(jù)框有 6 列,因此將刪除具有 3 個(gè)或更多缺失值的行。

只有第三行有 2 個(gè)以上的缺失值,所以它是唯一一個(gè)被丟棄的。

4. 基于特定的列子集刪除

在刪除列時(shí),我們可以只考慮部分列。

dropna 函數(shù)的子集參數(shù)用于此任務(wù)。 例如,我們可以刪除在度量 1 或度量 2 列中有缺失值的行,如下所示:

到目前為止,我們已經(jīng)看到了根據(jù)缺失值刪除行或列的不同方法。放棄并不是唯一的選擇。 在某些情況下,我們可能會(huì)選擇填充缺失值而不是刪除它們。

事實(shí)上,填充可能是更好的選擇,因?yàn)閿?shù)據(jù)意味著價(jià)值。 如何填補(bǔ)缺失值,當(dāng)然取決于數(shù)據(jù)的結(jié)構(gòu)和任務(wù)。

fillna 函數(shù)用于填充缺失值。

5. 填充一個(gè)常數(shù)值

我們可以選擇一個(gè)常量值來(lái)替代缺失值。如果我們只給 fillna 函數(shù)一個(gè)常量值,它將用該值替換數(shù)據(jù)框中的所有缺失值。

更合理的方法是為不同的列確定單獨(dú)的常量值。 我們可以將它們寫入字典并將其傳遞給 values 參數(shù)。

item 列中的缺失值替換為 1014,而 measure 1 列中的缺失值替換為 0。

6. 填充聚合值

另一種選擇是使用聚合值,例如平均值、中位數(shù)或眾數(shù)。

下面這行代碼用該列的平均值替換了第 2 列中的缺失值。

7. 替換為上一個(gè)或下一個(gè)值

可以用該列中的前一個(gè)或下一個(gè)值替換該列中的缺失值。在處理時(shí)間序列數(shù)據(jù)時(shí),此方法可能會(huì)派上用場(chǎng)。 假設(shè)您有一個(gè)包含每日溫度測(cè)量值的數(shù)據(jù)框,但缺少一天的溫帶。 最佳解決方案是使用第二天或前一天的溫度。

fillna 函數(shù)的方法參數(shù)用于執(zhí)行此任務(wù)。

“bfill”向后填充缺失值,以便將它們替換為下一個(gè)值??纯醋詈笠粰凇?缺失值被替換到第一行。 這可能不適合某些情況。

值得慶幸的是,我們可以限制用這種方法替換的缺失值的數(shù)量。 如果我們將 limit 參數(shù)設(shè)置為 1,那么一個(gè)缺失值只能用它的下一個(gè)值替換。 后面的第二個(gè)或第三個(gè)值將不會(huì)用于替換。

8. 使用另一個(gè)數(shù)據(jù)框填充

我們還可以將另一個(gè)數(shù)據(jù)幀傳遞給 fillna 函數(shù)。 新數(shù)據(jù)框中的值將用于替換當(dāng)前數(shù)據(jù)框中的缺失值。

將根據(jù)行索引和列名稱選擇值。 例如,如果 item 列的第二行中存在缺失值,則將使用新數(shù)據(jù)框中相同位置的值。

 

以上是具有相同列的兩個(gè)數(shù)據(jù)框。 第一個(gè) 沒(méi)有任何缺失值。

我們可以使用 fillna 函數(shù)如下:

df 中的值將替換為 df2 中關(guān)于列名和行索引的值。

總結(jié)

缺失將永遠(yuǎn)存在于我們的生活中。 沒(méi)有最好的方法來(lái)處理它們,但我們可以通過(guò)應(yīng)用準(zhǔn)確合理的方法來(lái)降低它們的影響。我們已經(jīng)介紹了 8 種不同的處理缺失值的方法,使用哪一個(gè)取決于數(shù)據(jù)和任務(wù)。

到此這篇關(guān)于Python處理缺失值的8種不同方法的文章就介紹到這了,更多相關(guān)Python處理缺失值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python多線程的使用詳情

    Python多線程的使用詳情

    這篇文章主要介紹了Python多線程的使用詳情,線程之間執(zhí)行是無(wú)序的,cpu調(diào)度哪個(gè)線程就執(zhí)行哪個(gè)線程,下文相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • 提升Python編程水平必不可少的重構(gòu)技巧

    提升Python編程水平必不可少的重構(gòu)技巧

    在Python中,編寫可讀性強(qiáng)且Pythonic的代碼是至關(guān)重要的,重構(gòu)技巧是指通過(guò)調(diào)整代碼結(jié)構(gòu)和風(fēng)格,使其更符合Python的慣例和標(biāo)準(zhǔn),從而提高代碼的可讀性、簡(jiǎn)潔性和可維護(hù)性,本文將深入探討八項(xiàng)重構(gòu)技巧,幫助您編寫更Pythonic的代碼
    2024-01-01
  • 關(guān)于keras多任務(wù)多l(xiāng)oss回傳的思考

    關(guān)于keras多任務(wù)多l(xiāng)oss回傳的思考

    這篇文章主要介紹了關(guān)于keras多任務(wù)多l(xiāng)oss回傳的思考,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python利用PIL實(shí)現(xiàn)多張圖片合成gif動(dòng)畫的案例詳解

    Python利用PIL實(shí)現(xiàn)多張圖片合成gif動(dòng)畫的案例詳解

    這篇文章主要介紹了Python利用PIL實(shí)現(xiàn)多張圖片合成gif動(dòng)畫的案例,文章通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以自己動(dòng)手試一下
    2023-11-11
  • pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法

    pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法

    這篇文章主要介紹了pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法,文中通過(guò)圖文結(jié)合的方式給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • 熱門問(wèn)題python爬蟲的效率如何提高

    熱門問(wèn)題python爬蟲的效率如何提高

    這篇文章主要介紹了一個(gè)知乎上的熱門問(wèn)題,關(guān)于python爬蟲的效率如何提高?我會(huì)分別從幾種常見(jiàn)的并發(fā)方法去做同一件事情,從而比較處理效率
    2021-11-11
  • Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì))

    Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì))

    這篇文章主要介紹了Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • caffe的python接口deploy生成caffemodel分類新的圖片

    caffe的python接口deploy生成caffemodel分類新的圖片

    這篇文章主要為大家介紹了caffe的python接口生成deploy文件學(xué)習(xí)以及用訓(xùn)練好的模型(caffemodel)來(lái)分類新的圖片示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python爬蟲利用多線程爬取 LOL 高清壁紙

    Python爬蟲利用多線程爬取 LOL 高清壁紙

    這篇文章主要介紹了Python爬蟲利用多線程爬取 LOL 高清壁紙,通過(guò)網(wǎng)站爬取每一個(gè)英雄的所有皮膚圖片,全部下載下來(lái)并保存到本地,下文爬取過(guò)程感興趣的朋友可以參考一下
    2022-06-06
  • Python數(shù)據(jù)可視化JupyterNotebook繪圖生成高清圖片

    Python數(shù)據(jù)可視化JupyterNotebook繪圖生成高清圖片

    這篇文章主要為大家介紹了Python數(shù)據(jù)可視化中如何利用Jupyter Notebook繪圖生成高清圖片,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09

最新評(píng)論