Convierta una array 1D en una array Numpy 2D

Numpy es un paquete de Python que consta de objetos de array multidimensional y una colección de operaciones o rutinas para realizar varias operaciones en la array y el procesamiento de la array. Este paquete consiste en una función llamada numpy.reshape que se usa para convertir una array 1-D en una array 2-D de dimensiones requeridas (nxm). Esta función da una nueva forma requerida sin cambiar los datos de la array 1-D.

Sintaxis: numpy.reshape(array, nueva_forma, orden) 

Parámetros:

  •  array: es la array 1-D dada a la que se le dará una nueva forma o se convertirá en una array 2-D
  • new_shape: es la forma requerida o la array 2-D que tiene un int o una tupla de int
  • orden : ‘C’ para estilo C, ‘F’ para estilo Fortran, ‘A’ si los datos están en estilo Fortran, entonces ordene Fortran como si no fuera estilo C.

Ejemplos 1:

Python3

import numpy as np
# 1-D array having elements [1 2 3 4 5 6 7 8]
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
  
# Print the 1-D array
print ('Before reshaping:')
print (arr)
print ('\n')
  
# Now we can convert this 1-D array into 2-D in two ways
  
# 1. having dimension 4 x 2
arr1 = arr.reshape(4, 2)
print ('After reshaping having dimension 4x2:')
print (arr1)
print ('\n')
  
# 2. having dimension 2 x 4
arr2 = arr.reshape(2, 4)
print ('After reshaping having dimension 2x4:')
print (arr2)
print ('\n')

Producción:

Before reshaping:
[1 2 3 4 5 6 7 8]
After reshaping having dimension 4x2:
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
After reshaping having dimension 2x4:
[[1 2 3 4]
 [5 6 7 8]]

Ejemplo 2: veamos una observación importante sobre si podemos remodelar una array 1-D en cualquier array 2-D.

Python3

import numpy as np
# 1-D array having elements [1 2 3 4 5 6 7 8]
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
  
# Print the 1-D array
print('Before reshaping:')
print(arr)
print('\n')
  
# let us try to convert into 2-D array having dimension 3x3
arr1 = arr.reshape(3, 3)
print('After reshaping having dimension 3x3:')
print(arr1)
print('\n')

Producción:

Esto concluye que el número de elementos debe ser igual al producto de la dimensión, es decir, 3×3=9 pero el total de elementos = 8;

Ejemplo 3: Otro ejemplo es que podemos usar el método de remodelación sin especificar el número exacto para una de las dimensiones. Simplemente pase -1 como valor y NumPy calculará el número.

Python3

import numpy as np
# 1-D array having elements [1 2 3 4 5 6 7 8]
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
  
# Print the 1-D array
print('Before reshaping:')
print(arr)
print('\n')
  
  
arr1 = arr.reshape(2, 2, -1)
print('After reshaping:')
print(arr1)
print('\n')

Producción:

Before reshaping:
[1 2 3 4 5 6 7 8]
After reshaping:
[[[1 2]
 [3 4]]
[[5 6]
 [7 8]]]

Publicación traducida automáticamente

Artículo escrito por TanmayChakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *