single
Découpage
Glissez pour afficher le menu
Découpage (slicing) en Python désigne l'extraction d'éléments d'une séquence entre deux indices. Dans ce chapitre, l'accent sera mis sur le découpage dans les tableaux NumPy.
Découpage dans les tableaux 1D
La syntaxe générale pour le découpage dans les tableaux 1D est la suivante : array[start:end:step].
startcorrespond à l'indice de début du découpage ;endcorrespond à l'indice de fin du découpage (l'indice lui-même n'est pas inclus) ;stepindique l'incrément entre les indices (par défaut,1).
Voici un exemple pour illustrer ces notions (les cases violettes représentent les éléments extraits par le découpage) :
Comme nous n'avons pas explicitement spécifié step, sa valeur par défaut est 1.
123456789import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
Omission du début, de la fin et du pas
Comme vous pouvez le constater, il est souvent possible d’omettre les paramètres start, end, step, ou même tous en même temps. Par exemple, step peut être omis lorsqu’on souhaite qu’il soit égal à 1. start et end peuvent être omis dans les cas suivants :
- Omission de
start:- Découpage à partir du premier élément (
steppositif) ; - Découpage à partir du dernier élément (
stepnégatif).
- Découpage à partir du premier élément (
- Omission de
end:- Découpage jusqu’au dernier élément inclus (
steppositif) ; - Découpage jusqu’au premier élément inclus (
stepnégatif).
- Découpage jusqu’au dernier élément inclus (
Voici quelques exemples supplémentaires (la flèche noire indique que les éléments sont pris dans l’ordre inverse) :
1234567891011import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
L'image ci-dessous montre la structure du tableau weekly_sales utilisé dans l'exercice :
Glissez pour commencer à coder
Vous analysez les données de ventes quotidiennes d'un petit magasin de détail. Les ventes de la semaine passée sont stockées dans le tableau weekly_sales, chaque élément représentant les ventes d'une journée spécifique.
- Créez une tranche de
weekly_salesqui inclut les données de ventes pour chaque deuxième jour, en commençant par le deuxième jour (mardi). - Utilisez un indice positif pour le
startet laissez leendnon spécifié. - Stockez le résultat dans
alternate_day_sales.
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