當我們想要將輸入轉換為數組時,使用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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。