Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Attribution de Valeurs aux Sous-Tableaux Indexés | Indexation et Découpage
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Bases de NumPy

bookAttribution de Valeurs aux Sous-Tableaux Indexés

Avec les tableaux indexés, les choses deviennent 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 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.
123456789101112131415161718
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)
copy

Lorsqu'un scalaire est affecté à 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 tableau 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 façon qu'avec les tranches 1D.

Tâche

Swipe to start coding

Vous gérez un ensemble de données contenant les prix et les notes de produits. Les prix sont stockés dans le tableau prices, et les notes (sur 10) sont stockées dans le tableau ratings. Votre tâche consiste à les mettre à jour selon des critères spécifiques :

  1. Attribuer la valeur 20 à chaque élément de prices supérieur à 10 en utilisant un scalaire.
  2. Attribuer un tableau NumPy contenant les éléments 9, 8 aux deux dernières valeurs de la deuxième ligne de ratings. Utilisez un indice de ligne positif et un slicing.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 10
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

bookAttribution 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 nous concentrerons 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.
123456789101112131415161718
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)
copy

Lorsqu'un scalaire est affecté à 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 tableau 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 façon qu'avec les tranches 1D.

Tâche

Swipe to start coding

Vous gérez un ensemble de données contenant les prix et les notes de produits. Les prix sont stockés dans le tableau prices, et les notes (sur 10) sont stockées dans le tableau ratings. Votre tâche consiste à les mettre à jour selon des critères spécifiques :

  1. Attribuer la valeur 20 à chaque élément de prices supérieur à 10 en utilisant un scalaire.
  2. Attribuer un tableau NumPy contenant les éléments 9, 8 aux deux dernières valeurs de la deuxième ligne de ratings. Utilisez un indice de ligne positif et un slicing.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 10
single

single

some-alt