Python快速转换numpy数组中Nan和Inf的方法实例说明

yipeiwu_com5年前Python基础

在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误。这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值。

numpy.nan_to_num(x):
使用0代替数组x中的nan元素,使用有限的数字代替inf元素

使用范例:

>>>import numpy as np
>>> a = np.array([[np.nan,np.inf],\
...        [-np.nan,-np.inf]])
>>> a
array([[ nan,  inf],
    [ nan, -inf]])
>>> np.nan_to_num(a)
array([[ 0.00000000e+000, 1.79769313e+308],
    [ 0.00000000e+000, -1.79769313e+308]])

和此类问题相关的还有一组判断用函数,包括:

  • isinf
  • isneginf
  • isposinf
  • isnan
  • isfinite

使用方法也很简单,以isnan举例说明:

>>> import numpy as np
>>> np.isnan(np.array([[1, np.nan, np.inf],\
...        [np.nan, -np.inf, -0.25]]))
array([[False, True, False],
    [ True, False, False]], dtype=bool)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python基础之包的导入和__init__.py的介绍

调用同级目录: – src |– mod.py |– test.py 若在程序test.py中导入模块mod, 则直接使用 import mod 或 from mod im...

python 通过 socket 发送文件的实例代码

python 通过 socket 发送文件的实例代码

目录结构: client: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket, struct, json down...

python 将列表中的字符串连接成一个长路径的方法

今天实习公司分配了一个数据处理的任务。在将列表中的字符串连接成一个长路径时,我遇到了如下问题: import os path_list = ['first_directory',...

Pandas 数据处理,数据清洗详解

如下所示: # -*-coding:utf-8-*- from pandas import DataFrame import pandas as pd import numpy a...

Caffe均值文件mean.binaryproto转mean.npy的方法

mean.binaryproto转mean.npy 使用Caffe的C++接口进行操作时,需要的图像均值文件是pb格式,例如常见的均值文件名为mean.binaryproto;但在使用p...