Función Numpy recarray.any() | Python

En numpy, las arrays pueden tener tipos de datos que contienen campos, de forma análoga a las columnas en una hoja de cálculo. Un ejemplo es [(a, int), (b, float)], donde cada entrada en la array es un par de (int, float). Normalmente, se accede a estos atributos mediante búsquedas en diccionarios como arr['a'] and arr['b'].
Las arrays de registros permiten acceder a los campos como miembros de la array, utilizando arr.a and arr.b. numpy.recarray.any()La función devuelve True si algún elemento en la array de registros se evalúa como True.

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

Parámetros:
eje : [Ninguno o int o tupla de ints, opcional] Eje o ejes a lo largo de los cuales se realiza una operación lógica OR.
out : [ndarray, opcional] Una ubicación en la que se almacena el resultado.
  -> Si se proporciona, debe tener una forma a la que se transmitan las entradas.
  -> Si no se proporciona o Ninguno, se devuelve una array recién asignada.
keepdims: [bool, opcional] Si se establece en True, los ejes que se reducen se dejan en el resultado como dimensiones con tamaño uno. Con esta opción, el resultado se transmitirá correctamente contra la array de entrada.
Si se pasa el valor predeterminado, los keepdims no se pasarán a ningún método de las subclases de ndarray; sin embargo, se pasará cualquier valor no predeterminado. Si el método de suma de subclases no implementa keepdims, se generarán excepciones.

Devuelve: [ndarray, bool] Devuelve True si algún elemento se evalúa como True.

Código #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) 
Producción:

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

Código #2:

Si aplicamos numpy.recarray.any()a toda la array de registros, dará un error de tipo porque la array es de tipo flexible o mixto.

# 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)  
Producción:

TypeError: cannot perform reduce with flexible type

Publicación traducida automáticamente

Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *