本文主要介紹了pandas中NaN缺失值的處理方法,主要有兩種方法,具體如下:
缺失值處理
兩種方法:
處理缺失值為NaN
先判斷數(shù)據(jù)中是否存在NaN,通過下面兩個方法中任意一個
pd.isnull(dataframe)
# dataframe為數(shù)據(jù)
如果數(shù)據(jù)中存在NaN返回True,如果沒有就返回False
pd.notnull(dataframe)
該方法與isnull相反
any() 和 all()
"""
pd.isnull(dataframe).any()
判斷哪一個字段中存在缺失值沒有就返回False
pd.notnull(dataframe).all()
判斷哪一個字段中存在缺失值沒有就返回True
"""
使用numpy也可以進行判斷
import numpy as np
np.any(pd.isnull(dataframe)) # 如果返回True,說明數(shù)據(jù)中存在缺失值
np.all(pd.notnull(dataframe)) # 如果返回False, 說明數(shù)據(jù)中存在缺失值
然后進行數(shù)據(jù)處理
方式一: 刪除空值行
dataframe.dropna(inplace=False)
"""
dropna() 是刪除空值數(shù)據(jù)的方法, 默認(rèn)將只要含有NaN的整行數(shù)據(jù)刪除,
如果想要刪除整行都是空值的數(shù)據(jù)需要添加how='all'參數(shù)
默認(rèn)是刪除整行, 如果對列做刪除操作, 需要添加axis參數(shù),
axis=1表示刪除列, axis=0表示刪除行
inplace: 是否在當(dāng)前的dataframe中執(zhí)行此操作,
True表示在原來的基礎(chǔ)上修改,
False表示返回一個新的值, 不修改原有數(shù)據(jù)
"""
方式二: 替換/插補
dataframe.fillna('替換的值value',inplace=False)
'''
把替換NaN的值傳入到fillna()中
'''
缺失值NaN有默認(rèn)標(biāo)記的值
比如有的空值不是NaN, 有的是一個'?'
先替換
使用numpy把"?"替換為NaN
import numpy as np
# 替換
dataframe.replace(to_replace="?", value=np.nan)
把其他的缺失值換為NaN后, 然后就按照缺失值為NaN的方式就行操作
刪除數(shù)據(jù)
如果只是單獨的刪除數(shù)據(jù)可以使用drop()方法
DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
'''
代碼解釋:
labels : 就是要刪除的行列的名字,用列表指定
index : 直接指定要刪除的行
columns : 直接指定要刪除的列
inplace=False : 表示返回一個新的值, 不修改原有數(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python Pandas知識點之缺失值處理詳解
- 詳解Pandas 處理缺失值指令大全
- 簡單了解Pandas缺失值處理方法
- pandas 缺失值與空值處理的實現(xiàn)方法
- Python Pandas對缺失值的處理方法
- pandas如何處理缺失值
- Python Pandas找到缺失值的位置方法
- python解決pandas處理缺失值為空字符串的問題