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.
Primero, comencemos asignando valores a rebanadas. La sintaxis general es la siguiente: slice = values, donde slice es una rebanada 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 la rebanada (si es 1D); o del tamaño de la segunda dimensión (si la rebanada es 2D);
- un array 2D de la misma forma que una rebanada 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 una rebanada 1D, este escalar se asigna a cada elemento de la rebanada. Cuando un array 1D se asigna a una rebanada 2D, este array 1D se asigna a cada array 1D en la rebanada. Asignar un escalar a una rebanada 2D funciona igual que con una rebanada 1D.
Asignar valores a subarrays indexados mediante arrays de enteros funciona de la misma manera que con las rebanadas. Asignar valores a subarrays indexados mediante booleanos funciona igual que con las rebanadas 1D.
Swipe to start coding
Estás gestionando un conjunto de datos de precios y calificaciones de productos. Los precios se almacenan en el arreglo prices, y las calificaciones (sobre 10) se almacenan en el arreglo ratings, donde cada fila representa una categoría de producto diferente. Tu tarea es actualizar los precios y calificaciones según criterios específicos:
- Asignar el valor
20a cada elemento depricesmayor que 10 (indexación booleana) utilizando un escalar. - Asignar un arreglo de NumPy con los elementos
9,8a los dos últimos elementos de la segunda fila (segundo arreglo 1D) deratings. Utiliza 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
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.
Primero, comencemos asignando valores a rebanadas. La sintaxis general es la siguiente: slice = values, donde slice es una rebanada 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 la rebanada (si es 1D); o del tamaño de la segunda dimensión (si la rebanada es 2D);
- un array 2D de la misma forma que una rebanada 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 una rebanada 1D, este escalar se asigna a cada elemento de la rebanada. Cuando un array 1D se asigna a una rebanada 2D, este array 1D se asigna a cada array 1D en la rebanada. Asignar un escalar a una rebanada 2D funciona igual que con una rebanada 1D.
Asignar valores a subarrays indexados mediante arrays de enteros funciona de la misma manera que con las rebanadas. Asignar valores a subarrays indexados mediante booleanos funciona igual que con las rebanadas 1D.
Swipe to start coding
Estás gestionando un conjunto de datos de precios y calificaciones de productos. Los precios se almacenan en el arreglo prices, y las calificaciones (sobre 10) se almacenan en el arreglo ratings, donde cada fila representa una categoría de producto diferente. Tu tarea es actualizar los precios y calificaciones según criterios específicos:
- Asignar el valor
20a cada elemento depricesmayor que 10 (indexación booleana) utilizando un escalar. - Asignar un arreglo de NumPy con los elementos
9,8a los dos últimos elementos de la segunda fila (segundo arreglo 1D) deratings. Utiliza un índice de fila positivo y un slice especificando solostart(índice positivo).
Solución
¡Gracias por tus comentarios!
single