Contenido del Curso
Ultimate NumPy
2. Indexación y Segmentación
3. Funciones de NumPy comúnmente utilizadas
Ultimate NumPy
Aplanando Arreglos
A veces es necesario transformar matrices de mayor dimensión en matrices más simples de 1D. Aquí es donde entra en juego el aplanamiento de matrices. Aplanar un array significa convertirlo de un array multidimensional a un array 1D, esencialmente desenredando su contenido.
Esta operación es útil cuando necesitas procesar los elementos de un array uno a uno o cuando quieres hacer los datos más adecuados para ciertos algoritmos.
Hay tres opciones posibles para aplanar en NumPy:
- usando el método
ndarray.reshape(-1)
o la funciónnumpy.reshape(array, -1)
; - usando el método
ndarray.ravel()
o la funciónnumpy.ravel(array)
; - usando el método
ndarray.flatten()
.
reshape(-1)
El método .reshape(-1)
o la función reshape(array, -1)
devolverá un array aplanado contiguo con el mismo número de elementos.
Como ya hemos mencionado en el capítulo anterior, -1
calcula automáticamente el tamaño de la dimensión basándose en el tamaño del array original. Como sólo pasamos un entero para shape
, se devuelve un array 1D con el mismo número de elementos.
He aquí un ejemplo:
This operation is useful when you need to process the elements of an array one by one or when you want to make data more suitable for certain algorithms.
There are three possible options for flattening in NumPy:
- Using the
ndarray.reshape(-1)
method or thenumpy.reshape(array, -1)
function; - Using the
ndarray.ravel()
method or thenumpy.ravel(array)
function; - Using the
ndarray.flatten()
method.
As you can see, everything is simple here. However, the .reshape()
method or the respective function returns a view of the original array, so any changes made to the reshaped array will also affect the original array.
Using flattened_array = np.reshape(array_2d, -1)
can be used instead of calling the method.
As you can see, everything is simple here. However, the .reshape()
method or the respective function returns a view of the original array, so any changes made to the reshaped array will also affect the original array.
Using flattened_array = np.reshape(array_2d, -1)
can be used instead of calling the method.
Ahora los cambios en el array aplanado no afectan al array original.
Nota
Siempre puedes copiar una vista de un array para crear un objeto separado y modificar esta copia sin modificar el array inicial.
flattened_array = np.ravel(array_2d)
can be used instead of calling the method.
Ahora los cambios en el array aplanado no afectan al array original.
Nota
Siempre puedes copiar una vista de un array para crear un objeto separado y modificar esta copia sin afectar al array original.
Ahora los cambios en el array aplanado no afectan al array original.
Nota
Puedes copiar una vista de un array para crear un objeto separado y modificar esta copia sin afectar al array original.
Tarea
Así es como puedes completar las tareas:
- Utiliza el método
.flatten()
correctamente para aplanarexam_scores
y guarda el resultado enexam_scores_flattened
. - Utiliza el método
.reshape()
correctamente para aplanarexam_scores
y guarda el resultado enexam_scores_reshaped
. - Utiliza el método
.ravel()
para aplanarexam_scores
y guarda el resultado enexam_scores_raveled
. - De los tres arreglos aplanados creados, elige aquel que sea una copia del arreglo original, no una vista, y asigna
100
a su primer elemento (usa indexación positiva).
¿Todo estuvo claro?
Contenido del Curso
Ultimate NumPy
2. Indexación y Segmentación
3. Funciones de NumPy comúnmente utilizadas
Ultimate NumPy
Aplanando Arreglos
A veces es necesario transformar matrices de mayor dimensión en matrices más simples de 1D. Aquí es donde entra en juego el aplanamiento de matrices. Aplanar un array significa convertirlo de un array multidimensional a un array 1D, esencialmente desenredando su contenido.
Esta operación es útil cuando necesitas procesar los elementos de un array uno a uno o cuando quieres hacer los datos más adecuados para ciertos algoritmos.
Hay tres opciones posibles para aplanar en NumPy:
- usando el método
ndarray.reshape(-1)
o la funciónnumpy.reshape(array, -1)
; - usando el método
ndarray.ravel()
o la funciónnumpy.ravel(array)
; - usando el método
ndarray.flatten()
.
reshape(-1)
El método .reshape(-1)
o la función reshape(array, -1)
devolverá un array aplanado contiguo con el mismo número de elementos.
Como ya hemos mencionado en el capítulo anterior, -1
calcula automáticamente el tamaño de la dimensión basándose en el tamaño del array original. Como sólo pasamos un entero para shape
, se devuelve un array 1D con el mismo número de elementos.
He aquí un ejemplo:
This operation is useful when you need to process the elements of an array one by one or when you want to make data more suitable for certain algorithms.
There are three possible options for flattening in NumPy:
- Using the
ndarray.reshape(-1)
method or thenumpy.reshape(array, -1)
function; - Using the
ndarray.ravel()
method or thenumpy.ravel(array)
function; - Using the
ndarray.flatten()
method.
As you can see, everything is simple here. However, the .reshape()
method or the respective function returns a view of the original array, so any changes made to the reshaped array will also affect the original array.
Using flattened_array = np.reshape(array_2d, -1)
can be used instead of calling the method.
As you can see, everything is simple here. However, the .reshape()
method or the respective function returns a view of the original array, so any changes made to the reshaped array will also affect the original array.
Using flattened_array = np.reshape(array_2d, -1)
can be used instead of calling the method.
Ahora los cambios en el array aplanado no afectan al array original.
Nota
Siempre puedes copiar una vista de un array para crear un objeto separado y modificar esta copia sin modificar el array inicial.
flattened_array = np.ravel(array_2d)
can be used instead of calling the method.
Ahora los cambios en el array aplanado no afectan al array original.
Nota
Siempre puedes copiar una vista de un array para crear un objeto separado y modificar esta copia sin afectar al array original.
Ahora los cambios en el array aplanado no afectan al array original.
Nota
Puedes copiar una vista de un array para crear un objeto separado y modificar esta copia sin afectar al array original.
Tarea
Así es como puedes completar las tareas:
- Utiliza el método
.flatten()
correctamente para aplanarexam_scores
y guarda el resultado enexam_scores_flattened
. - Utiliza el método
.reshape()
correctamente para aplanarexam_scores
y guarda el resultado enexam_scores_reshaped
. - Utiliza el método
.ravel()
para aplanarexam_scores
y guarda el resultado enexam_scores_raveled
. - De los tres arreglos aplanados creados, elige aquel que sea una copia del arreglo original, no una vista, y asigna
100
a su primer elemento (usa indexación positiva).
¿Todo estuvo claro?