




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第Python處理缺失值的8種不同方法實例目錄前言1.刪除有缺失值的行或列2.刪除只有缺失值的行或列3.根據(jù)閾值刪除行或列4.基于特定的列子集刪除5.填充一個常數(shù)值6.填充聚合值7.替換為上一個或下一個值8.使用另一個數(shù)據(jù)框填充總結(jié)
前言
缺失值可能是數(shù)據(jù)科學(xué)中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當(dāng)?shù)靥幚硭鼈兊姆椒ā?/p>
在本文中,我們將介紹8種不同的方法來解決缺失值問題,哪種方法最適合特定情況取決于數(shù)據(jù)和任務(wù)。
讓我們首先創(chuàng)建一個示例數(shù)據(jù)框并向其中添加一些缺失值。
我們有一個10行6列的數(shù)據(jù)框。
下一步是添加缺失值。我們將使用loc方法選擇行和列組合,并使它們等于np.nan,這是標(biāo)準(zhǔn)缺失值表示之一。
這是數(shù)據(jù)框現(xiàn)在的樣子:
item和measure1列具有整數(shù)值,但由于缺少值,它們已被向上轉(zhuǎn)換為浮點數(shù)。
在Pandas1.0中,引入了整數(shù)類型缺失值表示(),因此我們也可以在整數(shù)列中包含缺失值。但是,我們需要顯式聲明數(shù)據(jù)類型。
盡管有缺失值,我們現(xiàn)在可以保留整數(shù)列。
現(xiàn)在我們有一個包含一些缺失值的數(shù)據(jù)框。是時候看看處理它們的不同方法了。
1.刪除有缺失值的行或列
一種選擇是刪除包含缺失值的行或列。
使用默認(rèn)參數(shù)值,dropna函數(shù)會刪除包含任何缺失值的行。數(shù)據(jù)框中只有一行沒有任何缺失值。同時我們還可以選擇使用軸參數(shù)刪除至少有一個缺失值的列。
2.刪除只有缺失值的行或列
另一種情況是有一列或一行充滿缺失值。這樣的列或行是無用的,所以我們可以刪除它們。
dropna函數(shù)也可以用于此目的。我們只需要改變how參數(shù)的值。
3.根據(jù)閾值刪除行或列
基于any或all的刪除并不總是最好的選擇。我們有時需要刪除具有大量或一些缺失值的行或列。
我們不能將這樣的表達(dá)式分配給how參數(shù),但Pandas為我們提供了一種更準(zhǔn)確的方法,即thresh參數(shù)。
例如,thresh=4意味著至少有4個非缺失值的行將被保留。其他的將被丟棄。
我們的數(shù)據(jù)框有6列,因此將刪除具有3個或更多缺失值的行。
只有第三行有2個以上的缺失值,所以它是唯一一個被丟棄的。
4.基于特定的列子集刪除
在刪除列時,我們可以只考慮部分列。
dropna函數(shù)的子集參數(shù)用于此任務(wù)。例如,我們可以刪除在度量1或度量2列中有缺失值的行,如下所示:
到目前為止,我們已經(jīng)看到了根據(jù)缺失值刪除行或列的不同方法。放棄并不是唯一的選擇。在某些情況下,我們可能會選擇填充缺失值而不是刪除它們。
事實上,填充可能是更好的選擇,因為數(shù)據(jù)意味著價值。如何填補缺失值,當(dāng)然取決于數(shù)據(jù)的結(jié)構(gòu)和任務(wù)。
fillna函數(shù)用于填充缺失值。
5.填充一個常數(shù)值
我們可以選擇一個常量值來替代缺失值。如果我們只給fillna函數(shù)一個常量值,它將用該值替換數(shù)據(jù)框中的所有缺失值。
更合理的方法是為不同的列確定單獨的常量值。我們可以將它們寫入字典并將其傳遞給values參數(shù)。
item列中的缺失值替換為1014,而measure1列中的缺失值替換為0。
6.填充聚合值
另一種選擇是使用聚合值,例如平均值、中位數(shù)或眾數(shù)。
下面這行代碼用該列的平均值替換了第2列中的缺失值。
7.替換為上一個或下一個值
可以用該列中的前一個或下一個值替換該列中的缺失值。在處理時間序列數(shù)據(jù)時,此方法可能會派上用場。假設(shè)您有一個包含每日溫度測量值的數(shù)據(jù)框,但缺少一天的溫帶。最佳解決方案是使用第二天或前一天的溫度。
fillna函數(shù)的方法參數(shù)用于執(zhí)行此任務(wù)。
bfill向后填充缺失值,以便將它們替換為下一個值??纯醋詈笠粰凇H笔е当惶鎿Q到第一行。這可能不適合某些情況。
值得慶幸的是,我們可以限制用這種方法替換的缺失值的數(shù)量。如果我們將limit參數(shù)設(shè)置為1,那么一個缺失值只能用它的下一個值替換。后面的第二個或第三個值將不會用于替換。
8.使用另一個數(shù)據(jù)框填充
我們還可以將另一個數(shù)據(jù)幀傳遞給fillna函數(shù)。新數(shù)據(jù)框中的值將用于替換當(dāng)前數(shù)據(jù)框中的缺失值。
將根據(jù)行索引和列名稱選擇值。例如,如果item列的第二行中存在缺失值,則將使用新數(shù)據(jù)框中相同位置的值。
以上是具有相同列的兩個數(shù)據(jù)框。第一個沒有任何缺失值。
我們可以使用fillna函數(shù)如下:
df中的值將替換為df2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)互聯(lián)網(wǎng)平臺霧計算協(xié)同在智能倉儲物流中的應(yīng)用案例分析報告
- 2025年農(nóng)村一二三產(chǎn)業(yè)融合發(fā)展的農(nóng)村物流技術(shù)應(yīng)用效果評估報告001
- 2025年元宇宙社交平臺虛擬現(xiàn)實技術(shù)專利布局與市場競爭力報告
- 2025年醫(yī)院信息化建設(shè)關(guān)鍵環(huán)節(jié):電子病歷系統(tǒng)深度優(yōu)化分析報告
- 2025年工業(yè)互聯(lián)網(wǎng)平臺生物識別技術(shù)在智能工廠生產(chǎn)流程優(yōu)化中的應(yīng)用價值分析報告
- 2025年黑龍江省伊春市名校八年級英語第二學(xué)期期末教學(xué)質(zhì)量檢測模擬試題含答案
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的知識產(chǎn)權(quán)保護與法律風(fēng)險防范報告
- 四川省成都市天府新區(qū)2025屆英語八年級第二學(xué)期期末教學(xué)質(zhì)量檢測試題含答案
- 表白數(shù)獨題目及答案
- 地?zé)豳Y源區(qū)域供暖系統(tǒng)設(shè)備選型與國產(chǎn)化進程報告001
- 糖尿病??谱o士培訓(xùn)學(xué)習(xí)匯報課件
- 心理健康教育C證面試20個題目參考答案
- 危險化學(xué)品庫房貯存規(guī)定培訓(xùn)課件
- Part 3-4 Unit 7 Invention and Innovation教案-【中職專用】高一英語精研課堂(高教版2021·基礎(chǔ)模塊2)
- 出租房(群租房)一戶一檔檢查表
- 頸腰椎病預(yù)防及診治
- 網(wǎng)絡(luò)集成實踐報告
- 報關(guān)實務(wù)第5版羅興武課后參考答案
- 2022-2023學(xué)年福建省廈門市數(shù)學(xué)五年級第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含答案
- 水文水位觀測
- 2023年蕪湖一中高一自主招生考試試題數(shù)學(xué)
評論
0/150
提交評論