Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Asignación de Valores a Elementos/Indexados Subarreglos | Indexing and Slicing
Ultimate NumPy

Asignación de Valores a Elementos/Indexados SubarreglosAsignación de Valores a Elementos/Indexados Subarreglos

Suele ocurrir cuando necesitamos asignar un determinado valor a un elemento concreto de un array o incluso valores a un subarray de elementos.

Asignación de valores a elementos indexados

En primer lugar, podemos asignar un valor a un elemento indexado de un array. He aquí la sintaxis general para lograrlo en arrays 1D: array[i] = n, donde i es un cierto índice y n es el valor a asignar.

En arrays 2D tenemos lo siguiente: array[i, j] = n, donde i y j son índices de fila y índices de columna respectivamente. Para matrices de mayor dimensión, el número de índices corresponde al número de dimensiones.

Veamos un ejemplo:

Como puede ver, aquí todo es bastante sencillo.

Nota

Asignar valores de tipos de datos más altos a elementos con tipos de datos más bajos (por ejemplo, un valor float a un elemento entero) provocará resultados inesperados o incluso un error.

Los tipos de datos más altos son los que pueden almacenar un mayor rango de valores y suelen ocupar más memoria.

He aquí un ejemplo:

Higher data types are those that can store a larger range of values and often occupy more memory.

No se lanzó ninguna excepción, sin embargo, al primer elemento se le asignó el valor de 10 en lugar de 10.2. El valor float fue convertido a un integer, ya que ese es el dtype del array.

Asignación de valores a submatrices indexadas

Con las matrices indexadas las cosas empiezan a ponerse más interesantes. Aquí nos centraremos en las submatrices 1D y 2D, ya que las submatrices 3D raramente se utilizan en la práctica.

Empecemos con la asignación de valores a rebanadas. La sintaxis general es la siguiente rebanada = valores, donde rebanada es una rebanada de un array determinado y valores son los valores a asignar.

Posibles formatos de values:

  • un escalar único (número);
  • una matriz 1D del mismo tamaño que la porción (si es 1D) o que el tamaño de la segunda dimensión (si la porción es 2D);
  • un array 2D de la misma forma que una rebanada 2D.

No te preocupes, aquí tienes un ejemplo para aclarar todo esto:

Visualicémoslo ahora:

Tarea

  1. Assign the value of 10 to every element in array_1d greater than 6 (boolean indexing) using a scalar.
  2. Assign a NumPy array with elements 2, 4 and 5 to the last three elements of the second row (second 1D array) of array_2d. Use a positive row index and a slice with specifying only start (positive index).

¿Todo estuvo claro?

Sección 2. Capítulo 10
toggle bottom row
course content

Contenido del Curso

Ultimate NumPy

Asignación de Valores a Elementos/Indexados SubarreglosAsignación de Valores a Elementos/Indexados Subarreglos

Suele ocurrir cuando necesitamos asignar un determinado valor a un elemento concreto de un array o incluso valores a un subarray de elementos.

Asignación de valores a elementos indexados

En primer lugar, podemos asignar un valor a un elemento indexado de un array. He aquí la sintaxis general para lograrlo en arrays 1D: array[i] = n, donde i es un cierto índice y n es el valor a asignar.

En arrays 2D tenemos lo siguiente: array[i, j] = n, donde i y j son índices de fila y índices de columna respectivamente. Para matrices de mayor dimensión, el número de índices corresponde al número de dimensiones.

Veamos un ejemplo:

Como puede ver, aquí todo es bastante sencillo.

Nota

Asignar valores de tipos de datos más altos a elementos con tipos de datos más bajos (por ejemplo, un valor float a un elemento entero) provocará resultados inesperados o incluso un error.

Los tipos de datos más altos son los que pueden almacenar un mayor rango de valores y suelen ocupar más memoria.

He aquí un ejemplo:

Higher data types are those that can store a larger range of values and often occupy more memory.

No se lanzó ninguna excepción, sin embargo, al primer elemento se le asignó el valor de 10 en lugar de 10.2. El valor float fue convertido a un integer, ya que ese es el dtype del array.

Asignación de valores a submatrices indexadas

Con las matrices indexadas las cosas empiezan a ponerse más interesantes. Aquí nos centraremos en las submatrices 1D y 2D, ya que las submatrices 3D raramente se utilizan en la práctica.

Empecemos con la asignación de valores a rebanadas. La sintaxis general es la siguiente rebanada = valores, donde rebanada es una rebanada de un array determinado y valores son los valores a asignar.

Posibles formatos de values:

  • un escalar único (número);
  • una matriz 1D del mismo tamaño que la porción (si es 1D) o que el tamaño de la segunda dimensión (si la porción es 2D);
  • un array 2D de la misma forma que una rebanada 2D.

No te preocupes, aquí tienes un ejemplo para aclarar todo esto:

Visualicémoslo ahora:

Tarea

  1. Assign the value of 10 to every element in array_1d greater than 6 (boolean indexing) using a scalar.
  2. Assign a NumPy array with elements 2, 4 and 5 to the last three elements of the second row (second 1D array) of array_2d. Use a positive row index and a slice with specifying only start (positive index).

¿Todo estuvo claro?

Sección 2. Capítulo 10
toggle bottom row
some-alt