Générer des nombres régulièrement espacés avec NumPy

NumPyNumPyBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce tutoriel, nous allons aborder l'utilisation de la fonction numpy.linspace() dans la bibliothèque NumPy. Cette fonction est utilisée pour générer des nombres régulièrement espacés sur un intervalle spécifié. Elle est similaire à la fonction numpy.arange() avec la seule différence que, au lieu d'une taille d'incrément, le nombre de valeurs régulièrement espacées entre l'intervalle est spécifié en utilisant l'argument num.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Comprendre la syntaxe

La syntaxe de la fonction numpy.linspace() est la suivante :

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

La fonction prend différents paramètres :

  • start : La valeur de départ de l'intervalle.
  • stop : La valeur de fin de l'intervalle.
  • num : Le nombre d'échantillons régulièrement espacés sur l'intervalle à générer. La valeur par défaut est 50.
  • endpoint : Une valeur booléenne qui indique si le point final de l'intervalle est inclus ou non. Si True, le point final est inclus. Si False, il est exclu. La valeur par défaut est True.
  • retstep : Une valeur booléenne qui indique si la valeur du pas, c'est-à-dire l'espacement entre les nombres consécutifs, doit être renvoyée. La valeur par défaut est False.
  • dtype : Le type de données des éléments du tableau.

Générer un tableau à l'aide de linspace()

Pour générer un tableau à l'aide de numpy.linspace(), vous n'avez qu'à passer la valeur de départ, la valeur de fin et le nombre d'échantillons que vous voulez. Voici un exemple :

import numpy as np

a = np.linspace(0, 10, num=11)
print(a)

La sortie de ce code sera :

[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]

Exclure le point final

Pour exclure le point final, il suffit de définir le paramètre endpoint sur False. Voici un exemple :

b = np.linspace(0, 10, num=10, endpoint=False)
print(b)

La sortie de ce code sera :

[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]

Retourner la valeur du pas

Pour retourner la valeur du pas ou de l'espacement entre les nombres consécutifs générés par linspace(), définissez le paramètre retstep sur True. Voici un exemple :

c, step = np.linspace(0, 10, num=11, retstep=True)
print(c)
print(step)

La sortie de ce code sera :

[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
1.0

Tracer à l'aide de Linspace()

Nous pouvons utiliser linspace() avec matplotlib pour tracer des graphiques. Voici un exemple :

import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.show()

La sortie de ce code est un tracé simple d'onde sinusoïdale.

Utiliser des valeurs non scalaire

A partir des versions les plus récentes de NumPy, linspace() prend en charge des valeurs non scalaire pour les paramètres de début et de fin. Voici un exemple :

start = np.array([0, 1, 2])
end = np.array([6, 7, 8])
d = np.linspace(start, end, num=5, axis=1)
print(d)

La sortie de ce code est :

[[0.  1.5 3.  4.5 6. ]
 [1.  2.5 4.  5.5 7. ]
 [2.  3.5 5.  6.5 8. ]]

Sommaire

Dans ce tutoriel, nous avons démontré l'utilisation de la fonction numpy.linspace() dans la bibliothèque NumPy. Nous avons abordé la syntaxe, les différents paramètres et divers exemples. Grâce à ces connaissances, vous pouvez désormais générer rapidement et efficacement des tableaux régulièrement espacés.