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.flatten()
La función devuelve arrays de registros en una dimensión.
Sintaxis:
numpy.recarray.flatten(order='C')
Parámetros:
orden: [[‘C’, ‘F’, ‘A’, ‘K’], opcional]
‘C’ significa aplanar en orden de fila principal (estilo C).
‘F’ significa aplanar en orden de columna principal (estilo Fortran).
‘A’ significa aplanar en orden de columna principal si a es Fortran contiguo en la memoria, en caso contrario, en orden de fila principal.
‘K’ significa aplanar en el orden en que aparecen los elementos en la memoria. El valor predeterminado es ‘C’.Retorno: una copia de la array de entrada, aplanada a una dimensión.
Código #1:
# Python program explaining
# numpy.recarray.flatten() 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
)])
(
"Input array : "
, in_arr)
# convert it to a record array,
# using arr.view(np.recarray)
rec_arr
=
in_arr.view(geek.recarray)
(
"Record array of float: "
, rec_arr.a)
(
"Record array of int: "
, rec_arr.b)
# applying recarray.flatten methods
# to float record in Fortan order
out_arr1
=
rec_arr.a.flatten(order
=
'F'
)
(
"Output float flattened array in Fortan order: "
, out_arr1)
# applying recarray.flatten methods
# to float record array in default order
out_arr2
=
rec_arr.a.flatten()
(
"Output float flattenedarray in default order : "
, out_arr2)
# applying recarray.flatten methods
# to int record in 'A' order
out_arr3
=
rec_arr.b.flatten(order
=
'A'
)
(
"Output int flattened array in A order: "
, out_arr3)
# applying recarray.flatten methods
# to float record array in 'K' order
out_arr4
=
rec_arr.b.flatten(order
=
'K'
)
(
"Output intt flattened array in K order : "
, out_arr4)
Producción: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 float flattened array in Fortan order: [ 5. 9. 3. 5. 6. -12.] Output float flattenedarray in default order : [ 5. 3. 6. 9. 5. -12.] Output int flattened array in A order: [ 2 -4 9 1 4 -7] Output intt flattened array in K order : [ 2 -4 9 1 4 -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