溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas中NaN缺失值的解決方法

發(fā)布時間:2022-02-25 14:52:11 來源:億速云 閱讀:176 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了pandas中NaN缺失值的解決方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

本文主要介紹了pandas中NaN缺失值的處理方法,主要有兩種方法,具體如下:

import pandas as pd

缺失值處理

兩種方法:

  • 刪除含有缺失值的樣本

  • 替換/插補

處理缺失值為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ù)的方法, 默認將只要含有NaN的整行數(shù)據(jù)刪除, 
如果想要刪除整行都是空值的數(shù)據(jù)需要添加how='all'參數(shù)

默認是刪除整行, 如果對列做刪除操作, 需要添加axis參數(shù), 
axis=1表示刪除列, axis=0表示刪除行

inplace: 是否在當前的dataframe中執(zhí)行此操作,
True表示在原來的基礎上修改,
False表示返回一個新的值, 不修改原有數(shù)據(jù)
"""

方式二: 替換/插補

dataframe.fillna('替換的值value',inplace=False)
'''
把替換NaN的值傳入到fillna()中
'''

缺失值NaN有默認標記的值

比如有的空值不是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 : 表示在原來的基礎上修改
'''

例:

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)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“pandas中NaN缺失值的解決方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI