numpy中nan_to_num的具體使用
在Numpy中NaN值一般出現(xiàn)在數(shù)據(jù)清洗前,出現(xiàn)這個值說明這個數(shù)據(jù)是缺失的
在有些時候我們會選擇直接刪除這些數(shù)據(jù),但有些時候這些數(shù)據(jù)是不能刪除的,這個時候我們就需要使用一些方法將np.nan值替換為指定的值
本文主要介紹利用numpy.nan_to_num方法將np.nan值替換為指定的值
# np.nan表示該值不是一個數(shù),比如數(shù)據(jù)中收入,年齡的缺失值 np.nan == np.nan # False
numpy.nan_to_num方法用零替換NaN(numpy.nan)
import numpy as np
in_num = np.nan
out_num = np.nan_to_num(in_num)
print("Input Number:",in_num) # Input Number: nan
print("Output Number:",out_num) # Output Number: 0.0此外,numpy.nan_to_num方法可用最大的有限數(shù)替換無窮大(numpy.inf)
import numpy as np Infinite_num = np.inf Negative_Infinity_num = -np.inf np.nan_to_num(Infinite_num) # 1.7976931348623157e+308 np.nan_to_num(Negative_Infinity_num) # -1.7976931348623157e+308
import numpy as np data = np.array([np.inf, -np.inf, np.nan, -128, 128]) deal_data = np.nan_to_num(data)
data

deal_data

補充資料學(xué)習(xí)
import numpy as np
# 生成一個3行4列的數(shù)組,設(shè)定第1行,第2、3列位置兩個元素為np.nan
arr = np.array([[1,2,3,4],[5,6,np.nan,np.nan],[9,10,11,12]])
# 問題:如何將arr中的nan替換為0?
# 方法1
for i in range(arr.shape[1]):
col = arr[:,i]
col[np.isnan(col)] = 0
# 方法2,調(diào)用np.nan_to_num方法
arr = np.nan_to_num(arr)
# 方法3,用np.isnan()做索引,然后替換
# 一個ndarray數(shù)組arr,可以用np.isnan(arr)定位到nan值的位置,
# 再用arr[np.isnan(t1)] = 指定值,將nan替換為指定值
arr[np.isnan(arr)] = 0arr

處理過后的arr

到此這篇關(guān)于numpy中nan_to_num的具體使用的文章就介紹到這了,更多相關(guān)numpy nan_to_num內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- numpy中np.nanmax和np.max的區(qū)別及坑
- 使用numpy對數(shù)組求平均時如何忽略nan值
- 使用pandas或numpy處理數(shù)據(jù)中的空值(np.isnan()/pd.isnull())
- 如何將numpy二維數(shù)組中的np.nan值替換為指定的值
- Python過濾掉numpy.array中非nan數(shù)據(jù)實例
- Python 實現(xiàn)將numpy中的nan和inf,nan替換成對應(yīng)的均值
- Python快速轉(zhuǎn)換numpy數(shù)組中Nan和Inf的方法實例說明
- numpy 對矩陣中Nan的處理:采用平均值的方法
- Python Numpy:找到list中的np.nan值方法
相關(guān)文章
關(guān)于Python的一些學(xué)習(xí)總結(jié)
這篇文章主要介紹了關(guān)于Python的一些總結(jié),希望自己以后在學(xué)習(xí)Python的過程中可以邊學(xué)習(xí)邊總結(jié),就自己之前的學(xué)習(xí)先做以總結(jié),之后將不斷總結(jié)更新2018-05-05
Python序列對象與String類型內(nèi)置方法詳解
這篇文章主要介紹了Python序列對象與String類型內(nèi)置方法,結(jié)合實例形式分析了Python序列對象與String類型各種常見內(nèi)置方法相關(guān)使用技巧及操作注意事項,需要的朋友可以參考下2019-10-10
python的tkinter、socket庫開發(fā)tcp的客戶端和服務(wù)端詳解
本文介紹了TCP通訊流程和開發(fā)步驟,包括客戶端和服務(wù)端的實現(xiàn),客戶端使用Python的tkinter庫實現(xiàn)圖形化界面,服務(wù)端使用socket庫監(jiān)聽連接并處理消息,文章還提供了客戶端和服務(wù)端的代碼示例2025-01-01
django中url映射規(guī)則和服務(wù)端響應(yīng)順序的實現(xiàn)
這篇文章主要介紹了django中url映射規(guī)則和服務(wù)端響應(yīng)順序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
調(diào)試Python程序代碼的幾種方法總結(jié)
這篇文章主要介紹了調(diào)試Python程序代碼的幾種方法總結(jié),文中代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04
Python實現(xiàn)多并發(fā)訪問網(wǎng)站功能示例
這篇文章主要介紹了Python實現(xiàn)多并發(fā)訪問網(wǎng)站功能,結(jié)合具體實例形式分析了Python線程結(jié)合URL模塊并發(fā)訪問網(wǎng)站的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06

