numpy.asarray_chkfinite#
- numpy.asarray_chkfinite(a, dtype=None, order=None)[source]#
- 将输入转换为数组,并检查是否存在 NaN 或 Inf。 - 参数:
- a类数组
- 输入数据,可以是任何可转换为数组的形式。这包括列表、元组列表、元组、元组的元组、列表的元组和 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.]) - 如果类数组对象包含 NaN 或 Inf,则引发 ValueError。 - >>> a = [1, 2, np.inf] >>> try: ... np.asarray_chkfinite(a) ... except ValueError: ... print('ValueError') ... ValueError