numpy中nan_to_num如何使用

这篇文章主要介绍“numpy中nan_to_num如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“numpy中nan_to_num如何使用”文章能帮助大家解决问题。

在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

numpy中nan_to_num如何使用  numpy 第1张

deal_data 

numpy中nan_to_num如何使用  numpy 第2张

补充资料学习 

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 

numpy中nan_to_num如何使用  numpy 第3张

处理过后的arr 

numpy中nan_to_num如何使用  numpy 第4张

关于“numpy中nan_to_num如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注蜗牛博客行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram