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.all()
La función devuelve True si todos los elementos en la array de registros se evalúan como True.
Sintaxis:
numpy.recarray.all(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 reducción lógica AND.
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 todos los métodos de 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 todos los elementos se evalúan como True.
Código #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
Código #2:
Si aplicamos numpy.recarray.all()
a toda la array de registros, dará Type error
porque la array es de tipo flexible o mixto.
# 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
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