numpy nan_to_num
山茶花开时。 人气:0在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
到此这篇关于numpy中nan_to_num的具体使用的文章就介绍到这了,更多相关numpy nan_to_num内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
加载全部内容