Python numpy.asarray_chkfinite()

Python numpy.asarray_chkfinite()

numpy.asarray_chkfinite()函数在我们想把输入转换成数组时使用,检查是否有NaN(Not A Number)或Infs(Infinities)。输入包括标量、列表、图元的列表、图元、图元的图元、列表的图元和ndarrays。

语法 : numpy.asarray_chkfinite(arr, dtype=None, order=None)

参数 :
arr :[array_like] 输入数据,以任何可以转换为浮点型数组的形式。这包括标量,列表,图元的列表,图元,图元的图元,列表的图元和ndarrays。
dtype :默认情况下,数据类型是由输入数据推断出来的。
order :是否使用行为主(C风格)或列为主(Fortran风格)的内存表示。默认为 “C”。

返回 :[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()函数在arr包含NaN(非数字)或Inf(无穷大)时引发ValueError。

代码 #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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程