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.clip()
función devuelve una array cuyos valores están limitados a [min, max]
. Se debe dar uno de max o min.
Sintaxis:
numpy.recarray.clip(min=None, max=None, out=None)
Parámetros:
min : Valor mínimo.
–> Si No, el recorte no se realiza en el borde del intervalo inferior. No más de uno de a_min y a_max puede ser Ninguno.
max : Valor máximo.
–> Si no hay, el recorte no se realiza en el borde del intervalo superior. No más de uno de a_min y a_max puede ser Ninguno.
–> Si a_min o a_max son similares a una array, entonces las tres arrays se transmitirán para que coincidan con sus formas.
out: los resultados se colocarán en esta array. Puede ser la array de entrada para el recorte en el lugar. out debe tener la forma adecuada para contener la salida. Se conserva su tipo.Devuelve: [clipped_array, ndarray] Una array donde los valores menores que el mínimo se reemplazan con min, y los valores mayores que el máximo con max.
Código #1:
# Python program explaining # numpy.recarray.clip() 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, 9)], [(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 int: ", rec_arr.b) # applying recarray.clip methods to float record array float_rec_arr = rec_arr.a print("Record array of float: ", float_rec_arr) out_arr = (rec_arr.a).clip(min =-1.0, max = 5.0) print ("Output clipped array : ", out_arr) # applying recarray.clip methods to int record array int_rec_arr = rec_arr.b print("Record array of int: ", int_rec_arr) out_arr = int_rec_arr.clip(min = 2, max = 6) print ("Output clipped array : ", out_arr)
Input array : [[(5.0, 2) (3.0, -4) (6.0, 9)] [(9.0, 1) (5.0, 4) (-12.0, -7)]] Record array of int: [[ 2 -4 9] [ 1 4 -7]] Record array of float: [[ 5. 3. 6.] [ 9. 5. -12.]] Output clipped array : [[ 5. 3. 5.] [ 5. 5. -1.]] Record array of int: [[ 2 -4 9] [ 1 4 -7]] Output clipped array : [[2 2 6] [2 4 2]]
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