各位用户为了找寻关于python中nan与inf转为特定数字方法示例的资料费劲了很多周折。这里教程网为您整理了关于python中nan与inf转为特定数字方法示例的相关资料,仅供查阅,以下为您介绍关于python中nan与inf转为特定数字方法示例的详细内容
前言
最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work;查看得到的数据,发现有很多nan和inf,导致Python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故。为了将结果能够被python其他函数处理,尤其numpy库,需要将nan,inf转为python所能识别的类型。
这里将nan,inf替换0作为例子。下面来看看详细的介绍:
1. 代码
? 1 2 3 4 5 6 7 8 9import
numpy as np
a
=
np.array([[np.nan, np.nan,
1
,
2
], [np.inf, np.inf,
3
,
4
], [
1
,
1
,
1
,
1
], [
2
,
2
,
2
,
2
]])
print
a
where_are_nan
=
np.isnan(a)
where_are_inf
=
np.isinf(a)
a[where_are_nan]
=
0
a[where_are_inf]
=
0
print
a
print
np.mean(a)
2. 运行结果
? 1 2 3 4 5 6 7 8 9[[ nan nan
1.
2.
]
[ inf inf
3.
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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://blog.csdn.net/helei001/article/details/53066317