Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Aplanamiento de Arreglos | Funciones Comúnmente Utilizadas de NumPy
Numpy Definitivo

bookAplanamiento de Arreglos

Aplanar un array significa convertirlo de un array multidimensional a un array 1D, desenrollando esencialmente su contenido.

Esta operación es útil cuando se necesita procesar los elementos de un array uno por uno o cuando se desea hacer que los datos sean más adecuados para ciertos algoritmos.

Existen tres opciones posibles para aplanar arrays en NumPy:

  • Utilizar el método ndarray.reshape(-1) o la función numpy.reshape(array, -1);
  • Utilizar el método ndarray.ravel() o la función numpy.ravel(array);
  • Utilizar el método ndarray.flatten().

reshape(-1)

El método .reshape(-1) o la función reshape(array, -1) devolverán un array aplanado contiguo con el mismo número de elementos.

Como ya se mencionó en el capítulo anterior, -1 calcula automáticamente el tamaño de la dimensión en función del tamaño del array original. Dado que solo se pasa un único entero para shape, se devuelve un array 1D con el mismo número de elementos.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

El método .reshape() o la función respectiva devuelve una vista del arreglo original, por lo que cualquier cambio realizado en el arreglo reestructurado también afectará al arreglo original.

Se puede utilizar flattened_array = np.reshape(array_2d, -1) en lugar de llamar al método.

ravel()

El método ndarray.ravel() o la función numpy.ravel(array) funciona igual que reshape(-1) y también devuelve una vista del arreglo original:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) puede utilizarse en lugar de llamar al método.

ndarray.flatten()

En caso de requerir una copia del array original, y no una vista, se puede utilizar el método .flatten():

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy
Note
Nota

Siempre es posible copiar una vista de un arreglo para crear un objeto independiente y modificar esta copia sin afectar el arreglo original.

Tarea

Swipe to start coding

  1. Utilizar correctamente el método .flatten() para aplanar exam_scores y almacenar el resultado en exam_scores_flattened.
  2. Utilizar correctamente el método .reshape() para aplanar exam_scores y almacenar el resultado en exam_scores_reshaped.
  3. Utilizar el método .ravel() para aplanar exam_scores y almacenar el resultado en exam_scores_raveled.
  4. De los tres arreglos aplanados creados, seleccionar el que sea una copia del arreglo original, no una vista, y asignar 100 a su primer elemento (utilizando indexación positiva).

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 3.7

bookAplanamiento de Arreglos

Desliza para mostrar el menú

Aplanar un array significa convertirlo de un array multidimensional a un array 1D, desenrollando esencialmente su contenido.

Esta operación es útil cuando se necesita procesar los elementos de un array uno por uno o cuando se desea hacer que los datos sean más adecuados para ciertos algoritmos.

Existen tres opciones posibles para aplanar arrays en NumPy:

  • Utilizar el método ndarray.reshape(-1) o la función numpy.reshape(array, -1);
  • Utilizar el método ndarray.ravel() o la función numpy.ravel(array);
  • Utilizar el método ndarray.flatten().

reshape(-1)

El método .reshape(-1) o la función reshape(array, -1) devolverán un array aplanado contiguo con el mismo número de elementos.

Como ya se mencionó en el capítulo anterior, -1 calcula automáticamente el tamaño de la dimensión en función del tamaño del array original. Dado que solo se pasa un único entero para shape, se devuelve un array 1D con el mismo número de elementos.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

El método .reshape() o la función respectiva devuelve una vista del arreglo original, por lo que cualquier cambio realizado en el arreglo reestructurado también afectará al arreglo original.

Se puede utilizar flattened_array = np.reshape(array_2d, -1) en lugar de llamar al método.

ravel()

El método ndarray.ravel() o la función numpy.ravel(array) funciona igual que reshape(-1) y también devuelve una vista del arreglo original:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) puede utilizarse en lugar de llamar al método.

ndarray.flatten()

En caso de requerir una copia del array original, y no una vista, se puede utilizar el método .flatten():

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy
Note
Nota

Siempre es posible copiar una vista de un arreglo para crear un objeto independiente y modificar esta copia sin afectar el arreglo original.

Tarea

Swipe to start coding

  1. Utilizar correctamente el método .flatten() para aplanar exam_scores y almacenar el resultado en exam_scores_flattened.
  2. Utilizar correctamente el método .reshape() para aplanar exam_scores y almacenar el resultado en exam_scores_reshaped.
  3. Utilizar el método .ravel() para aplanar exam_scores y almacenar el resultado en exam_scores_raveled.
  4. De los tres arreglos aplanados creados, seleccionar el que sea una copia del arreglo original, no una vista, y asignar 100 a su primer elemento (utilizando indexación positiva).

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5
single

single

some-alt