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
Numpy Ultime

bookAttribution 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.
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

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.

Tâche

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 :

  1. Attribuer la valeur 20 à chaque élément de prices supérieur à 10 (indexation booléenne) en utilisant un scalaire.
  2. Attribuer un tableau NumPy contenant les éléments 9, 8 aux deux derniers éléments de la deuxième ligne (deuxième tableau 1D) de ratings. Utilisez un indice de ligne positif et une tranche ne spécifiant que le start (indice positif).

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

Awesome!

Completion rate improved to 3.7

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 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.
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

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.

Tâche

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 :

  1. Attribuer la valeur 20 à chaque élément de prices supérieur à 10 (indexation booléenne) en utilisant un scalaire.
  2. Attribuer un tableau NumPy contenant les éléments 9, 8 aux deux derniers éléments de la deuxième ligne (deuxième tableau 1D) de ratings. Utilisez un indice de ligne positif et une tranche ne spécifiant que le start (indice positif).

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