Asignación de Valores a Subarreglos Indexados
Con los arrays indexados, las cosas comienzan a ser más interesantes. Aquí nos centraremos en subarrays 1D y 2D, ya que los subarrays 3D rara vez se utilizan en la práctica.
Comencemos primero con la asignación de valores a segmentos. La sintaxis general es la siguiente: slice = values, donde slice es un segmento de un determinado array y values son los valores que se asignarán.
Formatos posibles de values:
- un único escalar (número);
- un array 1D del mismo tamaño que el segmento (si es 1D); o del tamaño de la segunda dimensión (si el segmento es 2D);
- un array 2D de la misma forma que un segmento 2D.
123456789101112131415161718import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Cuando se asigna un escalar a un segmento 1D, este escalar se asigna a cada elemento del segmento. Cuando un array 1D se asigna a un segmento 2D, este array 1D se asigna a cada array 1D dentro del segmento. Asignar un escalar a un segmento 2D funciona igual que con un segmento 1D.
La asignación de valores a subarrays indexados por arrays de enteros funciona de la misma manera que con los segmentos. La asignación de valores a subarrays indexados por booleanos funciona igual que con los segmentos 1D.
Swipe to start coding
Está gestionando un conjunto de datos de precios y calificaciones de productos. Los precios se almacenan en el array prices, y las calificaciones (sobre 10) se almacenan en el array ratings, donde cada fila representa una categoría de producto diferente. Su tarea es actualizar los precios y las calificaciones según criterios específicos:
- Asignar el valor
20a cada elemento depricesmayor que 10 (indexación booleana) utilizando un escalar. - Asignar un array de NumPy con los elementos
9,8a los dos últimos elementos de la segunda fila (segundo array 1D) deratings. Utilice un índice de fila positivo y un slice especificando solostart(índice positivo).
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain what happens if the shapes of the assigned values and the slice don't match?
Can you show more examples of assigning values to slices using boolean indexing?
What is the difference between assigning a 1D array and a 2D array to a 2D slice?
Awesome!
Completion rate improved to 3.7
Asignación de Valores a Subarreglos Indexados
Desliza para mostrar el menú
Con los arrays indexados, las cosas comienzan a ser más interesantes. Aquí nos centraremos en subarrays 1D y 2D, ya que los subarrays 3D rara vez se utilizan en la práctica.
Comencemos primero con la asignación de valores a segmentos. La sintaxis general es la siguiente: slice = values, donde slice es un segmento de un determinado array y values son los valores que se asignarán.
Formatos posibles de values:
- un único escalar (número);
- un array 1D del mismo tamaño que el segmento (si es 1D); o del tamaño de la segunda dimensión (si el segmento es 2D);
- un array 2D de la misma forma que un segmento 2D.
123456789101112131415161718import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Cuando se asigna un escalar a un segmento 1D, este escalar se asigna a cada elemento del segmento. Cuando un array 1D se asigna a un segmento 2D, este array 1D se asigna a cada array 1D dentro del segmento. Asignar un escalar a un segmento 2D funciona igual que con un segmento 1D.
La asignación de valores a subarrays indexados por arrays de enteros funciona de la misma manera que con los segmentos. La asignación de valores a subarrays indexados por booleanos funciona igual que con los segmentos 1D.
Swipe to start coding
Está gestionando un conjunto de datos de precios y calificaciones de productos. Los precios se almacenan en el array prices, y las calificaciones (sobre 10) se almacenan en el array ratings, donde cada fila representa una categoría de producto diferente. Su tarea es actualizar los precios y las calificaciones según criterios específicos:
- Asignar el valor
20a cada elemento depricesmayor que 10 (indexación booleana) utilizando un escalar. - Asignar un array de NumPy con los elementos
9,8a los dos últimos elementos de la segunda fila (segundo array 1D) deratings. Utilice un índice de fila positivo y un slice especificando solostart(índice positivo).
Solución
¡Gracias por tus comentarios!
single