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.max()
La función devuelve el máximo de la array de registros o el máximo a lo largo de un eje.
Sintaxis:
numpy.recarray.max(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 operar. De forma predeterminada, se utiliza la entrada aplanada.
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.Retorno: [ndarray o escalar] Máximo de array de registro. Si el eje es Ninguno, el resultado es un valor escalar. Si se proporciona el eje, el resultado es una array de dimensión arr.ndim – 1.
Código #1:
# Python program explaining # numpy.recarray.max() 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), (6.0, 8)], [(9.0, 1), (5.0, 4), (-12.0, -7)]], 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.max methods # to float record array along default axis # i, e along flattened array out_arr1 = rec_arr.a.max() # Maximum of the flattened array print("\nMax of float record array, axis = None : ", out_arr1) # applying recarray.max methods # to float record array along axis 0 # i, e along vertical out_arr2 = rec_arr.a.max(axis = 0) # Maximum along 0 axis print("\nMax of float record array, axis = 0 : ", out_arr2) # applying recarray.max methods # to float record array along axis 1 # i, e along horizontal out_arr3 = rec_arr.a.max(axis = 1) # Maximum along 0 axis print("\nMax of float record array, axis = 1 : ", out_arr3) # applying recarray.max methods # to int record array along default axis # i, e along flattened array out_arr4 = rec_arr.b.max() # Maximum of the flattened array print("\nMax of int record array, axis = None : ", out_arr4) # applying recarray.max methods # to int record array along axis 0 # i, e along vertical out_arr5 = rec_arr.b.max(axis = 0) # Maximum along 0 axis print("\nMax of int record array, axis = 0 : ", out_arr5) # applying recarray.max methods # to int record array along axis 1 # i, e along horizontal out_arr6 = rec_arr.b.max(axis = 1) # Maximum along 0 axis print("\nMax of int record array, axis = 1 : ", out_arr6)
Input array : [[( 5., 2) ( 3., -4) ( 6., 8)] [( 9., 1) ( 5., 4) (-12., -7)]] Record array of float: [[ 5. 3. 6.] [ 9. 5. -12.]] Record array of int: [[ 2 -4 8] [ 1 4 -7]] Max of float record array, axis = None : 9.0 Max of float record array, axis = 0 : [9. 5. 6.] Max of float record array, axis = 1 : [6. 9.] Max of int record array, axis = None : 8 Max of int record array, axis = 0 : [2 4 8] Max of int record array, axis = 1 : [8 4]
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