Python Numpy recarray.any()函数

Python Numpy recarray.any()函数

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

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

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

返回: [ndarray, bool] 如果有任何元素的值为True,则返回True。

代码#1:

# Python program explaining
# numpy.recarray.any() 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)
  
# applying recarray.any methods to float record array
out_arr = geek.recarray.any(rec_arr.a)
print ("Output array: ", out_arr) 
  
print("\nRecord array of int: ", rec_arr.b)
# applying recarray.any methods
# to int record array
out_arr = geek.recarray.any(rec_arr.b)
print ("Output array: ", out_arr) 
Python

输出:

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

Record array of int:  [2 4]
Output array:  True
Python

代码#2:

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

# Python program explaining
# numpy.recarray.any() 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.any methods to  record array
out_arr = geek.recarray.any(rec_arr)
print ("Output array: ", out_arr)  
Python

输出:

TypeError: cannot perform reduce with flexible type
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作

登录

注册