Contenu du cours
Numpy Ultime
Numpy Ultime
Assignation de Valeurs aux Sous-Tableaux Indexés
Avec les tableaux indexés, les choses commencent à devenir plus intéressantes. Ici, nous nous concentrerons sur les sous-tableaux 1D et 2D, car les sous-tableaux 3D sont rarement utilisés en pratique.
Commençons d'abord par l'affectation de valeurs aux tranches. La syntaxe générale ressemble à ceci : slice = values
, où slice
est une tranche d'un certain tableau et values
sont les valeurs à affecter.
Formats possibles de values
:
- un scalaire unique (nombre) ;
- un tableau 1D de la même taille que la tranche (si elle est 1D) ; ou la taille de la deuxième dimension (si la tranche est 2D) ;
- un tableau 2D de la même forme qu'une tranche 2D.
import 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 nous attribuons un scalaire à une tranche 1D, ce scalaire est attribué à chaque élément de la tranche. Lorsqu'un tableau 1D est attribué à une tranche 2D, ce tableau 1D est attribué à chaque tableau 1D de la tranche. L'attribution d'un scalaire à une tranche 2D fonctionne de la même manière qu'avec une tranche 1D.
L'attribution de valeurs à des sous-tableaux indexés par tableau d'entiers fonctionne de la même manière qu'avec les tranches. L'attribution de valeurs à des sous-tableaux indexés par booléens fonctionne de la même manière qu'avec les tranches 1D.
Swipe to start coding
Vous gérez un ensemble de données de prix et de notes de produits. Les prix sont stockés dans le tableau prices
, et les notes (sur 10) sont stockées dans le tableau ratings
, où chaque ligne représente une catégorie de produit différente. Votre tâche est de mettre à jour les prix et les notes en fonction de critères spécifiques :
- Attribuez la valeur
20
à chaque élément deprices
supérieur à 10 (indexation booléenne) en utilisant un scalaire. - Attribuez un tableau NumPy avec les éléments
9
,8
aux deux derniers éléments de la deuxième ligne (deuxième tableau 1D) deratings
. Utilisez un indice de ligne positif et une tranche spécifiant uniquement lestart
(indice positif).
Solution
Merci pour vos commentaires !
Assignation de Valeurs aux Sous-Tableaux Indexés
Avec les tableaux indexés, les choses commencent à devenir plus intéressantes. Ici, nous nous concentrerons sur les sous-tableaux 1D et 2D, car les sous-tableaux 3D sont rarement utilisés en pratique.
Commençons d'abord par l'affectation de valeurs aux tranches. La syntaxe générale ressemble à ceci : slice = values
, où slice
est une tranche d'un certain tableau et values
sont les valeurs à affecter.
Formats possibles de values
:
- un scalaire unique (nombre) ;
- un tableau 1D de la même taille que la tranche (si elle est 1D) ; ou la taille de la deuxième dimension (si la tranche est 2D) ;
- un tableau 2D de la même forme qu'une tranche 2D.
import 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 nous attribuons un scalaire à une tranche 1D, ce scalaire est attribué à chaque élément de la tranche. Lorsqu'un tableau 1D est attribué à une tranche 2D, ce tableau 1D est attribué à chaque tableau 1D de la tranche. L'attribution d'un scalaire à une tranche 2D fonctionne de la même manière qu'avec une tranche 1D.
L'attribution de valeurs à des sous-tableaux indexés par tableau d'entiers fonctionne de la même manière qu'avec les tranches. L'attribution de valeurs à des sous-tableaux indexés par booléens fonctionne de la même manière qu'avec les tranches 1D.
Swipe to start coding
Vous gérez un ensemble de données de prix et de notes de produits. Les prix sont stockés dans le tableau prices
, et les notes (sur 10) sont stockées dans le tableau ratings
, où chaque ligne représente une catégorie de produit différente. Votre tâche est de mettre à jour les prix et les notes en fonction de critères spécifiques :
- Attribuez la valeur
20
à chaque élément deprices
supérieur à 10 (indexation booléenne) en utilisant un scalaire. - Attribuez un tableau NumPy avec les éléments
9
,8
aux deux derniers éléments de la deuxième ligne (deuxième tableau 1D) deratings
. Utilisez un indice de ligne positif et une tranche spécifiant uniquement lestart
(indice positif).
Solution
Merci pour vos commentaires !