当我们想要将输入转换为数组时,使用numpy.asarray_chkfinite()函数,以检查NaN(非数字)或Infs(Infinities)。输入包括标量,列表,元组列表,元组,元组元组,列表元组和ndarray。
用法: numpy.asarray_chkfinite(arr, dtype=None, order=None)
参数:
arr :[数组]输入数据,可以转换为浮点型数组的任何形式。这包括标量,列表,元组列表,元组,元组元组,列表元组和ndarray。
dtype :默认情况下,从输入数据中推断出数据类型。
order :是使用行优先(C-style)还是列主要(Fortran-style)内存表示形式。默认为“ C”。
Return :[ndarray]数组对arr的解释。如果输入已经是ndarray,则不执行复制。如果arr是ndarray的子类,则返回基类ndarray。
代码1:列出数组
# Python program explaining
# numpy.asarray_chkfinite() function
import numpy as geek
my_list = [1, 3, 5, 7, 9]
print ("Input list:", my_list)
out_arr = geek.asarray_chkfinite(my_list, dtype ='float')
print ("output array from input list:", out_arr)
输出:
Input list: [1, 3, 5, 7, 9] output array from input list: [ 1. 3. 5. 7. 9.]
代码2:元组数组
# Python program explaining
# numpy.asarray_chkfinite() function
import numpy as geek
my_tuple = ([1, 3, 9], [8, 2, 6])
print ("Input tuple:", my_tuple)
out_arr = geek.asarray_chkfinite(my_tuple, dtype ='int8')
print ("output array from input tuple:", out_arr)
输出:
Input tuple: ([1, 3, 9], [8, 2, 6]) output array from input tuple: [[1 3 9] [8 2 6]]
注意: numpy.asarray_chkfinite()
函数提升ValueError
如果arr包含NaN(非数字)或Inf(无穷大)。
代码3:
# Python program explaining
# numpy.asarray_chkfinite() function
# when value error occurs
import numpy as geek
my_list = [1, 3, 5, 7, geek.inf, geek.nan]
print ("Input scalar:", my_scalar)
out_arr = geek.asarray_chkfinite(my_list)
print ("output fortan array from input scalar:", out_arr)
输出:
ValueError:array must not contain infs or NaNs
相关用法
注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 numpy.asarray_chkfinite() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。