numpy.asarray_chkfinite#
- numpy.asarray_chkfinite(a, dtype=None, order=None)[源代码]#
将输入转换为数组,检查是否包含 NaN 或 Inf.
- 参数:
- aarray_like
输入数据,可以是任何可以转换为数组的格式.这包括列表、元组列表、元组、元组元组、列表元组和ndarrays.成功要求没有NaNs或Infs.
- 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 包含 Nans 或 Infs,则引发 ValueError.
>>> a = [1, 2, np.inf] >>> try: ... np.asarray_chkfinite(a) ... except ValueError: ... print('ValueError') ... ValueError