pandas中NaN缺失值的處理方法
本文主要介紹了pandas中NaN缺失值的處理方法,主要有兩種方法,具體如下:
import pandas as pd
缺失值處理
兩種方法:
- 刪除含有缺失值的樣本
- 替換/插補(bǔ)
處理缺失值為NaN
先判斷數(shù)據(jù)中是否存在NaN,通過下面兩個(gè)方法中任意一個(gè)
pd.isnull(dataframe) # dataframe為數(shù)據(jù) 如果數(shù)據(jù)中存在NaN返回True,如果沒有就返回False pd.notnull(dataframe) 該方法與isnull相反 any() 和 all() """ pd.isnull(dataframe).any() 判斷哪一個(gè)字段中存在缺失值沒有就返回False pd.notnull(dataframe).all() 判斷哪一個(gè)字段中存在缺失值沒有就返回True """
使用numpy也可以進(jìn)行判斷
import numpy as np np.any(pd.isnull(dataframe)) # 如果返回True,說明數(shù)據(jù)中存在缺失值 np.all(pd.notnull(dataframe)) # 如果返回False, 說明數(shù)據(jù)中存在缺失值
然后進(jìn)行數(shù)據(jù)處理
方式一: 刪除空值行
dataframe.dropna(inplace=False) """ dropna() 是刪除空值數(shù)據(jù)的方法, 默認(rèn)將只要含有NaN的整行數(shù)據(jù)刪除, 如果想要?jiǎng)h除整行都是空值的數(shù)據(jù)需要添加how='all'參數(shù) 默認(rèn)是刪除整行, 如果對(duì)列做刪除操作, 需要添加axis參數(shù), axis=1表示刪除列, axis=0表示刪除行 inplace: 是否在當(dāng)前的dataframe中執(zhí)行此操作, True表示在原來的基礎(chǔ)上修改, False表示返回一個(gè)新的值, 不修改原有數(shù)據(jù) """
方式二: 替換/插補(bǔ)
dataframe.fillna('替換的值value',inplace=False)
'''
把替換NaN的值傳入到fillna()中
'''
缺失值NaN有默認(rèn)標(biāo)記的值
比如有的空值不是NaN, 有的是一個(gè)'?'
先替換
使用numpy把"?"替換為NaN
import numpy as np # 替換 dataframe.replace(to_replace="?", value=np.nan)
把其他的缺失值換為NaN后, 然后就按照缺失值為NaN的方式就行操作
刪除數(shù)據(jù)
如果只是單獨(dú)的刪除數(shù)據(jù)可以使用drop()方法
DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False) ''' 代碼解釋: labels : 就是要?jiǎng)h除的行列的名字,用列表指定 index : 直接指定要?jiǎng)h除的行 columns : 直接指定要?jiǎng)h除的列 inplace=False : 表示返回一個(gè)新的值, 不修改原有數(shù)據(jù) inplace=True : 表示在原來的基礎(chǔ)上修改 '''
例:
import pandas as pd
df = pd.read_csv('/text.xlsx')
# 刪除第0行和第1行
df.drop(labels=[0,1],axis=0)
# 刪除列名為 age 的列
df.drop(axis=1,columns=age)
到此這篇關(guān)于pandas中NaN缺失值的處理方法的文章就介紹到這了,更多相關(guān)pandas NaN缺失值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python字典循環(huán)添加一鍵多值的用法實(shí)例
今天小編就為大家分享一篇Python字典循環(huán)添加一鍵多值的用法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
解決Pytorch 訓(xùn)練與測試時(shí)爆顯存(out of memory)的問題
今天小編就為大家分享一篇解決Pytorch 訓(xùn)練與測試時(shí)爆顯存(out of memory)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python實(shí)現(xiàn)Excel和TXT文本之間相互轉(zhuǎn)換
Excel是一種具有強(qiáng)大的數(shù)據(jù)處理和圖表制作功能的電子表格文件,而TXT則是一種簡單通用、易于編輯的純文本文件,本文將介紹如何使用Python并結(jié)合相關(guān)庫來實(shí)現(xiàn) Excel 和 TXT 文本文件之間的相互轉(zhuǎn)換,需要的朋友可以參考下2024-06-06
Python學(xué)習(xí)之文件的創(chuàng)建與寫入詳解
本文主要介紹了Python中關(guān)于文件的處理,即如何創(chuàng)建、讀寫一個(gè)文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-03-03
python opencv 實(shí)現(xiàn)對(duì)圖像邊緣擴(kuò)充
今天小編就為大家分享一篇python opencv 實(shí)現(xiàn)對(duì)圖像邊緣擴(kuò)充,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù))
這篇文章主要介紹了python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù)),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
基于Python實(shí)現(xiàn)一個(gè)PDF特殊字體提取工具
在PDF文檔處理場景中,我們常常需要針對(duì)特定格式的文本內(nèi)容進(jìn)行提取分析,本文介紹的"PDF特殊字體提取器"是一款基于Python開發(fā)的桌面應(yīng)用程序感興趣的小伙伴跟著小編一起來看看吧2025-03-03

