NumPy : la différence entre np.linspace et np.arange
Lorsqu’il s’agit de créer une séquence de valeurs, linspace et arange sont deux fonctions NumPy couramment utilisées.
Voici la subtile différence entre les deux fonctions :
- linspace vous permet de spécifier le nombre d’étapes
- arange permet de préciser la taille des marches
Les exemples suivants montrent comment utiliser chaque fonction dans la pratique.
Exemple 1 : Comment utiliser np.linspace
La fonction np.linspace() utilise la syntaxe de base suivante :
np.linspace(démarrer, arrêter, num, …)
où:
- start : La valeur de départ de la séquence
- stop : La valeur de fin de la séquence
- num : le nombre de valeurs à générer
Le code suivant montre comment utiliser np.linspace() pour créer 11 valeurs régulièrement espacées entre 0 et 20 :
import numpy as np
#create sequence of 11 evenly spaced values between 0 and 20
np.linspace(0, 20, 11)
array([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 18., 20.])
Le résultat est un tableau de 11 valeurs régulièrement espacées entre 0 et 20.
En utilisant cette méthode, np.linspace() détermine automatiquement la distance entre les valeurs.
Exemple 2 : Comment utiliser np.arange
La fonction np.arange() utilise la syntaxe de base suivante :
np.arange(démarrer, arrêter, étape, …)
où:
- start : La valeur de départ de la séquence
- stop : La valeur de fin de la séquence
- step : L’espacement entre les valeurs
Le code suivant montre comment utiliser np.arange() pour créer une séquence de valeurs comprises entre 0 et 20 où l’espacement entre chaque valeur est de 2 :
import numpy as np
#create sequence of values between 0 and 20 where spacing is 2
np.arange(0, 20, 2)
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
Le résultat est une séquence de valeurs comprises entre 0 et 20 où l’espacement entre chaque valeur est de 2.
En utilisant cette méthode, np.arange() détermine automatiquement le nombre de valeurs à générer.
Si nous utilisons une taille de pas différente (comme 4), alors np.arange() ajustera automatiquement le nombre total de valeurs générées :
import numpy as np
#create sequence of values between 0 and 20 where spacing is 4
np.arange(0, 20, 4)
array([ 0, 4, 8, 12, 16])
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :
Comment remplir un tableau NumPy avec des valeurs
Comment remplacer des éléments dans un tableau NumPy
Comment compter les valeurs uniques dans le tableau NumPy