溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

numpy中nan_to_num如何使用

發(fā)布時(shí)間:2022-08-09 11:39:26 來(lái)源:億速云 閱讀:130 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“numpy中nan_to_num如何使用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“numpy中nan_to_num如何使用”文章能幫助大家解決問(wèn)題。

在Numpy中NaN值一般出現(xiàn)在數(shù)據(jù)清洗前,出現(xiàn)這個(gè)值說(shuō)明這個(gè)數(shù)據(jù)是缺失的

在有些時(shí)候我們會(huì)選擇直接刪除這些數(shù)據(jù),但有些時(shí)候這些數(shù)據(jù)是不能刪除的,這個(gè)時(shí)候我們就需要使用一些方法將np.nan值替換為指定的值 

本文主要介紹利用numpy.nan_to_num方法將np.nan值替換為指定的值

# np.nan表示該值不是一個(gè)數(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ù)替換無(wú)窮大(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

numpy中nan_to_num如何使用

deal_data 

numpy中nan_to_num如何使用

補(bǔ)充資料學(xué)習(xí) 

import numpy as np
# 生成一個(gè)3行4列的數(shù)組,設(shè)定第1行,第2、3列位置兩個(gè)元素為np.nan
arr = np.array([[1,2,3,4],[5,6,np.nan,np.nan],[9,10,11,12]])
 
# 問(wèn)題:如何將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()做索引,然后替換
# 一個(gè)ndarray數(shù)組arr,可以用np.isnan(arr)定位到nan值的位置,
# 再用arr[np.isnan(t1)] = 指定值,將nan替換為指定值
arr[np.isnan(arr)] = 0

arr 

numpy中nan_to_num如何使用

處理過(guò)后的arr 

numpy中nan_to_num如何使用

關(guān)于“numpy中nan_to_num如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

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

AI