python中nan与inf转为特定数字方法示例
前言
最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work;查看得到的数据,发现有很多nan和inf,导致Python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故。为了将结果能够被python其他函数处理,尤其numpy库,需要将nan,inf转为python所能识别的类型。
这里将nan,inf替换0作为例子。下面来看看详细的介绍:
1.代码
importnumpyasnp a=np.array([[np.nan,np.nan,1,2],[np.inf,np.inf,3,4],[1,1,1,1],[2,2,2,2]]) printa where_are_nan=np.isnan(a) where_are_inf=np.isinf(a) a[where_are_nan]=0 a[where_are_inf]=0 printa printnp.mean(a)
2.运行结果
[[nannan1.2.] [infinf3.4.] [1.1.1.1.] [2.2.2.2.]] [[0.0.1.2.] [0.0.3.4.] [1.1.1.1.] [2.2.2.2.]] 1.375
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。