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.put()
función Reemplaza elementos específicos de una array de registro con valores dados. La indexación funciona en la array de destino aplanada.
Sintaxis:
numpy.recarray.put(indices, values, mode='raise')
Parámetros:
índices: [array_like] Índices de destino, interpretados como números enteros.
valores: [array_like] Valores para colocar en índices de destino. Si los valores son más cortos que ind, se repetirá según sea necesario.
mode : [‘raise’, ‘wrap’, ‘clip’, Optional] Especifica cómo se comportarán los índices fuera de los límites.Retorno: [ndarray] Array resultante.
Código #1:
# Python program explaining # numpy.recarray.put() method # importing numpy as geek import numpy as geek # creating input array with 2 different field in_arr = geek.array([(1.0, 2), (3.0, -4), (5.0, 6), (7.0, 8), (9.0, -4), (11.0, -2)], 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.put methods # to float record array in default mode rec_arr.a.put( [0, 2], [-14, 15]) print ("Output float array in default mode : ", rec_arr.a) # applying recarray.put methods # to float record array in clip mode rec_arr.a.put( 13, -4, mode ='clip') print ("Output float array in clip mode : ", rec_arr.a) # applying recarray.put methods # to int record array rec_arr.b.put([1, 2, 4], [10, 15, 20]) print ("Output int array in default mode : ", rec_arr.b) # applying recarray.put methods # to int record array in clip mode rec_arr.b.put(8, 100, mode ='clip') print ("Output int array in clip mode : ", rec_arr.b)
Input array : [( 1., 2) ( 3., -4) ( 5., 6) ( 7., 8) ( 9., -4) (11., -2)] Record array of float: [ 1. 3. 5. 7. 9. 11.] Record array of int: [ 2 -4 6 8 -4 -2] Output float array in default mode : [-14. 3. 15. 7. 9. 11.] Output float array in clip mode : [-14. 3. 15. 7. 9. -4.] Output int array in default mode : [ 2 10 15 8 20 -2] Output int array in clip mode : [ 2 10 15 8 20 100]
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