numpy.asarray_chkfinite#

numpy.asarray_chkfinite(a, dtype=None, order=None)[source]#

将输入转换为数组,检查 NaN 或 Inf。

参数:
aarray_like

输入数据,以任何可以转换为数组的形式。这包括列表、元组列表、元组、元组的元组、元组的列表和 ndarray。成功需要没有 NaN 或 Inf。

dtype数据类型,可选

默认情况下,数据类型是从输入数据推断出来的。

order{‘C’, ‘F’, ‘A’, ‘K’},可选

内存布局。’A’ 和 ‘K’ 依赖于输入数组 a 的顺序。’C’ 行主(C 风格)、’F’ 列主(Fortran 风格)内存表示。’A’(任何)表示如果a 是 Fortran 连续的,则为 ‘F’,否则为 ‘C’。’K’(保留)保留输入顺序。默认为 ‘C’。

返回值:
outndarray

a 的数组解释。如果输入已经是 ndarray,则不执行复制。如果a 是 ndarray 的子类,则返回一个基类 ndarray。

引发:
ValueError

如果a 包含 NaN(非数字)或 Inf(无穷大),则引发 ValueError。

另请参阅

asarray

创建数组。

asanyarray

类似的函数,它传递子类。

ascontiguousarray

将输入转换为连续数组。

asfortranarray

将输入转换为具有列主内存顺序的 ndarray。

fromiter

从迭代器创建数组。

fromfunction

通过在网格位置上执行函数来构造数组。

示例

>>> import numpy as np

将列表转换为数组。如果所有元素都是有限的,则 asarray_chkfinite 等同于 asarray

>>> a = [1, 2]
>>> np.asarray_chkfinite(a, dtype=float)
array([1., 2.])

如果 array_like 包含 Nan 或 Infs,则引发 ValueError。

>>> a = [1, 2, np.inf]
>>> try:
...     np.asarray_chkfinite(a)
... except ValueError:
...     print('ValueError')
...
ValueError