日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

numpy中nan_to_num的具體使用_python

作者:山茶花開時。 ? 更新時間: 2022-10-03 編程語言

在Numpy中NaN值一般出現在數據清洗前,出現這個值說明這個數據是缺失的

在有些時候我們會選擇直接刪除這些數據,但有些時候這些數據是不能刪除的,這個時候我們就需要使用一些方法將np.nan值替換為指定的值?

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

# np.nan表示該值不是一個數,比如數據中收入,年齡的缺失值
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方法可用最大的有限數替換無窮大(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?

補充資料學習?

import numpy as np
# 生成一個3行4列的數組,設定第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,調用np.nan_to_num方法
arr = np.nan_to_num(arr)
 
# 方法3,用np.isnan()做索引,然后替換
# 一個ndarray數組arr,可以用np.isnan(arr)定位到nan值的位置,
# 再用arr[np.isnan(t1)] = 指定值,將nan替換為指定值
arr[np.isnan(arr)] = 0

arr?

處理過后的arr?

原文鏈接:https://blog.csdn.net/Hudas/article/details/125718673

欄目分類
最近更新