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.tolist()
La función se usa para hacer que la array sea una lista (posiblemente anidada). Devuelve una copia de los datos de la array como una lista de Python (anidada). Los elementos de datos se convierten al tipo de Python compatible más cercano.
Sintaxis:
numpy.recarray.tolist()
Parámetros:
NingunoRetorno: [lista] La lista posiblemente anidada de elementos de array.
Código #1:
# Python program explaining # numpy.recarray.tolist() 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 float: ", rec_arr.a) print("Record array of int: ", rec_arr.b) # applying recarray.tolist methods # to float record array out_arr = rec_arr.a.tolist() print ("Output list of float record array ", out_arr) # applying recarray.tolist methods # to int record array out_arr = rec_arr.b.tolist() print ("Output list of int record array ", out_arr)
Input array : [[( 5., 2) ( 3., -4) ( 6., 9)] [( 9., 1) ( 5., 4) (-12., -7)]] Record array of float: [[ 5. 3. 6.] [ 9. 5. -12.]] Record array of int: [[ 2 -4 9] [ 1 4 -7]] Output list of float record array [[5.0, 3.0, 6.0], [9.0, 5.0, -12.0]] Output list of int record array [[2, -4, 9], [1, 4, -7]]
Código #2:
Estamos aplicando numpy.recarray.tolist()
a toda la array de registros.
# Python program explaining # numpy.recarray.tolist() 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, -7)], [(9.0, 1), (6.0, 4), (-2.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) # applying recarray.tolist methods to # record array in default order out_arr = rec_arr.tolist() print ("Output list of record array ", out_arr)
Input array : [[( 5., 2) ( 3., 4) ( 6., -7)] [( 9., 1) ( 6., 4) (-2., -7)]] Output list of record array [[(5.0, 2), (3.0, 4), (6.0, -7)], [(9.0, 1), (6.0, 4), (-2.0, -7)]]
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