English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La forma del array es el número de elementos en cada dimensión.
Imprimir 2-La forma del array D:
import numpy as np arr = np.array([1, 2, 3, 4], [5, 6, 7, 8]) print(arr.shape)
Resultado de la ejecución
(2, 4)
el ejemplo anterior devuelve (2, 4) 2 dimensiones, cada dimensión tiene 4 elementos.
usando el valor de ndmin 1,2,3,4 la creación de un vector con 5 arrays de dimensiones, y verificar que el valor de la última dimensión sea 4:
import numpy as np arr = np.array([1, 2, 3, 4], ndmin=5) print(arr) print('shape of array:', arr.shape)
Resultado de la ejecución
[[[[1 2 3 4]]]] shape of array : (1, 1, 1, 1, 4)
cada entero en cada índice indica el número de elementos que posee la dimensión correspondiente.
índice en el ejemplo anterior 4nuestro valor es 4por lo que se puede decir que el 5 ) 4 + 1 elementos ( 4 elementos.
Modificar la forma del array
D 12 elementos de 1-Convertir el array D a 2-Array D.
La forma del array es el número de elementos en cada dimensión. Al modificar la forma del array, podemos agregar o eliminar dimensiones o cambiar el número de elementos en cada dimensión. 4 número de arrays, que contienen 3 número de arrays, cada uno contiene
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(4, 3) print(newarr)
Resultado de la ejecución
[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]
D 12 elementos de 1-Convertir el array D a 3-Array D.
Vamos a reshaped el siguiente array con 2 la dimensión más externa tendrá 3 número de arrays, que contienen 2 número de arrays, cada uno contiene
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(2, 3, 2) print(newarr)
Resultado de la ejecución
[[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]
¿Puede modificar la forma de un array?
Sí, siempre y cuando los elementos necesarios para reshaped sean iguales en ambas formas. 8 elementos, pero no podemos reshaped para 1Podemos reshaped 2 filas 2D array reshaped para 4 D array dentro de 3 elementos, pero no podemos reshaped para 3 filas 2D array, ya que esto requeriría 3x3 = 9 elementos.
Intenta convertir un array con 8 elementos de 1Convertir el array D (producirá un error): 3 elementos de 2Array D (producirá un error):
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(3, 3) print(newarr)
Resultado de la ejecución
Traceback (llamada más reciente última): Archivo "test.py", línea 5, in
Puede usar una dimensión 'desconocida'.
Esto significa que no tiene que especificar un número exacto para una dimensión en el método reshape.
pasar -1 como valor, NumPy calculará ese número por usted.
tomar 8 elementos de 1Convertir el array D a 2x2 elementos 3Array D:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(2, 2, -1) print(newarr)
Resultado de la ejecución
[[[1 2] [3 4]] [[5 6] [7 8]]
Flattening arrays (Aplanar los arrays) significa convertir un array multidimensional en 1Array D.
Podemos usar reshape(-1) para lograr esto.
Convertir el array a 1Array D:
import numpy as np arr = np.array([1, 2, 3], [4, 5, 6]) newarr = arr.reshape(-1) print(newarr)
Resultado de la ejecución
[1 2 3 4 5 6]
Hay muchas funciones que pueden cambiar la forma de flatten y ravel de los arrays de numpy, y también pueden reordenar los elementos rot.90、flip、fliplr、flipud, etc. Estas funciones pertenecen a la parte intermedia y avanzada de numpy.