Python Numpy recarray.all()函数

Python Numpy recarray.all()函数

在numpy中,数组可以有一个包含字段的数据类型,类似于电子表格中的列。一个例子是[(a, int), (b, float)] ,其中数组中的每个条目是一对(int, float)。通常情况下,这些属性使用字典查询,如arr[‘a’] 和arr[‘b’] 。
记录数组允许字段作为数组的成员被访问,使用arr.a和arr.b . numpy.recarray.all()函数如果记录数组中的所有元素评估为True则返回True。

语法: numpy.recarray.all(axis=None, out=None, keepdims=False)

参数:
axis : [None or int or tuple of ints, optional] 进行逻辑与还原的一个或多个坐标轴。
out : [ndarray, optional] 一个储存结果的位置。
-> 如果提供,它必须有一个输入广播到的形状。
-> 如果没有提供或没有,将返回一个新分配的数组。
keepdims : [ bool, optional] 如果设置为True,被缩小的轴将作为尺寸为1的尺寸留在结果中。有了这个选项,结果将正确地针对输入阵列进行广播。
如果传递了默认值,那么keepdims不会被传递到ndarray的所有子类方法中,但是任何非默认值都会被传递。如果子类的sum方法没有实现keepdims,则会产生任何异常。

返回: [ndarray, bool] 如果所有元素的值都是True,则返回True。

代码#1:

# Python program explaining
# numpy.recarray.all() method 
  
# importing numpy as geek
import numpy as geek
  
# creating input array with 2 different field 
in_arr = geek.array([(5.0, 2), (3.0, 4)],
         dtype =[('a', float), ('b', int)])
print ("Input array : ", in_arr)
   
# convert it to a record array, using arr.view(np.recarray)
rec_arr = in_arr.view(geek.recarray)
print("Record array of float: ", rec_arr.a)
print("Record array of int: ", rec_arr.b)
  
# applying recarray.all methods to float record array
out_arr = geek.recarray.all(rec_arr.a)
print ("Output array: ", out_arr) 
  
# applying recarray.all methods to int record array
out_arr = geek.recarray.all(rec_arr.b)
print ("Output array: ", out_arr) 

输出:

Input array :  [(5.0, 2) (3.0, 4)]
Record array of float:  [ 5.  3.]
Record array of int:  [2 4]
Output array:  True
Output array:  True

代码#2:

如果我们对整个记录数组应用numpy.recarray.all(),那么它将给出类型错误,因为数组是灵活的或混合的类型。

# Python program explaining
# numpy.recarray.all() method 
  
# importing numpy as geek
import numpy as geek
  
# creating input array with 2 different field 
in_arr = geek.array([(5.0, 2), (3.0, 4)],
         dtype =[('a', float), ('b', int)])
print ("Input array : ", in_arr) 
  
# convert it to a record array, using arr.view(np.recarray)
rec_arr = in_arr.view(geek.recarray)
print("Record array ", rec_arr)
  
# applying recarray.all methods to  record array
out_arr = geek.recarray.all(rec_arr)
print ("Output array: ", out_arr)  

输出:

TypeError: cannot perform reduce with flexible type

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作