Attribution de Valeurs aux Sous-Tableaux Indexés
Avec les tableaux indexés, les choses deviennent plus intéressantes. Ici, nous allons nous concentrer sur les sous-tableaux 1D et 2D, car les sous-tableaux 3D sont rarement utilisés en pratique.
Commençons par l'affectation de valeurs à des tranches. La syntaxe générale est la suivante : slice = values, où slice est une tranche d'un certain tableau et values sont les valeurs à affecter.
Formats possibles pour values :
- un scalaire unique (nombre) ;
- un tableau 1D de la même taille que la tranche (si elle est 1D) ; ou de la taille de la deuxième dimension (si la tranche est 2D) ;
- un tableau 2D de la même forme qu'une tranche 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)
Lorsque l'on affecte un scalaire à une tranche 1D, ce scalaire est attribué à chaque élément de la tranche. Lorsqu'un tableau 1D est affecté à une tranche 2D, ce tableau 1D est attribué à chaque tableau 1D de la tranche. L'affectation d'un scalaire à une tranche 2D fonctionne de la même manière qu'avec une tranche 1D.
L'affectation de valeurs à des sous-tableaux indexés par tableaux d'entiers fonctionne de la même façon qu'avec les tranches. L'affectation de valeurs à des sous-tableaux indexés par booléens fonctionne de la même manière que pour les tranches 1D.
Swipe to start coding
Vous gérez un ensemble de données contenant les prix et les évaluations de produits. Les prix sont stockés dans le tableau prices, et les évaluations (sur 10) sont stockées dans le tableau ratings, où chaque ligne représente une catégorie de produit différente. Votre tâche consiste à mettre à jour les prix et les évaluations selon des critères spécifiques :
- Attribuer la valeur
20à chaque élément depricessupérieur à 10 (indexation booléenne) en utilisant un scalaire. - Attribuer un tableau NumPy contenant les éléments
9,8aux deux derniers éléments de la deuxième ligne (deuxième tableau 1D) deratings. Utilisez un indice de ligne positif et une tranche ne spécifiant que lestart(indice positif).
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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
Attribution de Valeurs aux Sous-Tableaux Indexés
Glissez pour afficher le menu
Avec les tableaux indexés, les choses deviennent plus intéressantes. Ici, nous allons nous concentrer sur les sous-tableaux 1D et 2D, car les sous-tableaux 3D sont rarement utilisés en pratique.
Commençons par l'affectation de valeurs à des tranches. La syntaxe générale est la suivante : slice = values, où slice est une tranche d'un certain tableau et values sont les valeurs à affecter.
Formats possibles pour values :
- un scalaire unique (nombre) ;
- un tableau 1D de la même taille que la tranche (si elle est 1D) ; ou de la taille de la deuxième dimension (si la tranche est 2D) ;
- un tableau 2D de la même forme qu'une tranche 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)
Lorsque l'on affecte un scalaire à une tranche 1D, ce scalaire est attribué à chaque élément de la tranche. Lorsqu'un tableau 1D est affecté à une tranche 2D, ce tableau 1D est attribué à chaque tableau 1D de la tranche. L'affectation d'un scalaire à une tranche 2D fonctionne de la même manière qu'avec une tranche 1D.
L'affectation de valeurs à des sous-tableaux indexés par tableaux d'entiers fonctionne de la même façon qu'avec les tranches. L'affectation de valeurs à des sous-tableaux indexés par booléens fonctionne de la même manière que pour les tranches 1D.
Swipe to start coding
Vous gérez un ensemble de données contenant les prix et les évaluations de produits. Les prix sont stockés dans le tableau prices, et les évaluations (sur 10) sont stockées dans le tableau ratings, où chaque ligne représente une catégorie de produit différente. Votre tâche consiste à mettre à jour les prix et les évaluations selon des critères spécifiques :
- Attribuer la valeur
20à chaque élément depricessupérieur à 10 (indexation booléenne) en utilisant un scalaire. - Attribuer un tableau NumPy contenant les éléments
9,8aux deux derniers éléments de la deuxième ligne (deuxième tableau 1D) deratings. Utilisez un indice de ligne positif et une tranche ne spécifiant que lestart(indice positif).
Solution
Merci pour vos commentaires !
single