Cours
Les tableaux sont des des structures de données fondamentales dans de nombreux langages de programmation. Elles permettent de stocker des collections d'éléments de même type dans un bloc contigu de mémoire, ce qui signifie que tous les éléments sont stockés de manière séquentielle, sans espaces. Cette structure permet un accès et une manipulation efficaces des éléments stockés.
Contrairement à des langages tels que C ou Java, Python ne dispose pas d'un type de données tableau intégré au sens traditionnel du terme. Python propose plusieurs alternatives qui fonctionnent comme des tableaux, chacune étant adaptée à différents besoins et scénarios de programmation.
La bibliothèque standard de Python comprend un module array qui permet de créer des tableaux compacts et restreints à un type, similaires à ceux des langages plus statiquement typés.
Pour le calcul numérique et scientifique, cependant, le bibliothèque NumPy et son ndarray (tableau à n dimensions) sont devenus la norme incontournable en Python. Les tableaux NumPy offrent des fonctionnalités étendues qui dépassent largement la structure de tableau de base proposée par la bibliothèque standard de Python.
L'amélioration de l'IA pour les débutants
Principes fondamentaux d'un tableau
NumPy est le package fondamental pour le calcul numérique en Python. Il offre un objet tableau puissant et une suite de fonctions permettant de travailler efficacement avec ces tableaux. Les avantages de Numpy sont les suivants :
• Multidimensionnel : Prend en charge plus que les tableaux unidimensionnels.
• Fonctionnalités performantes : Comprend une vaste bibliothèque de fonctions mathématiques et statistiques.
• Vectorisation : Permet d'effectuer des opérations sur des tableaux entiers sans avoir besoin de boucles explicites, ce qui améliore les performances.
• Intégration : Fonctionne parfaitement avec d'autres bibliothèques scientifiques telles que SciPy, Pandas et Matplotlib.
Commençons par créer un tableau à l'aide de Numpy. Veuillez d'abord importer NumPy, puis utiliser la fonction array() pour créer un tableau. La fonction array() reçoit une liste en entrée.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(my_array)
# Expected output: [0 1 2 3 4]
Le type de my_array est un numpy.ndarray.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(type(my_array))
# Expected output: <class 'numpy.ndarray'>
Exemples de tableaux
Exemple de création d'un tableau
Dans l'exemple ci-dessous, vous allez convertir une liste en tableau à l'aide de la fonction array() de NumPy. Vous allez créer une liste a_list composée d'entiers. Ensuite, à l'aide de la fonction array(), veuillez convertir le résultat en tableau.
import numpy as np
a_list = [1, 2, 3, 4]
print(a_list)
# Expected output: [1, 2, 3, 4]
import numpy as np
a_list = [1, 2, 3, 4]
an_array = np.array(a_list)
print(an_array)
# Expected output: [1 2 3 4]
Exemple d'opération sur un tableau
Dans l'exemple ci-dessous, vous additionnez deux tableaux numpy. Le résultat est une somme élément par élément des deux tableaux.
import numpy as np
array_A = np.array([1, 2, 3])
array_B = np.array([4, 5, 6])
print(array_A + array_B)
# Expected output: [5 7 9]
Exemple d'indexation d'un tableau
Vous pouvez sélectionner un élément spécifique d'un tableau à l'aide de la notation d'indexation.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[3])
# Expected output: Apr
Vous pouvez également découper une série d'éléments en utilisant la notation de découpage spécifiant une série d'indices.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[2:5])
# Expected output: ['March', 'Apr', 'May']
Exemple interactif d'une liste vers un tableau
Dans l'exemple ci-dessous, vous allez importer numpy en utilisant l'alias np. Veuillez créer les tableaux prices_array et earnings_array à partir des listes prices et earnings, respectivement. Enfin, veuillez imprimer les deux tableaux.
import numpy as np
# Lists
prices = [170.12, 93.29, 55.28, 145.30, 171.81, 59.50, 100.50]
earnings = [9.2, 5.31, 2.41, 5.91, 15.42, 2.51, 6.79]
# NumPy arrays
prices_array = np.array(prices)
earnings_array = np.array(earnings)
# Print the arrays
print(prices_array)
print(earnings_array)
# Expected output:
# [170.12 93.29 55.28 145.3 171.81 59.5 100.5 ]
# [ 9.2 5.31 2.41 5.91 15.42 2.51 6.79]
Veuillez l'essayer par vous-même.
Pour en savoir plus sur les tableaux NumPy en Python, veuillez consulter cette vidéo tirée de notre cours Introduction à Python pour la finance.
Ce contenu est extrait du cours Introduction à Python pour la finance de DataCamp, dispensé par Adina Howe.
Nous vous invitons à consulter notre tutoriel sur les tableaux Python Numpy.
Foire aux questions
Quelles sont les principales différences entre le module array de Python et les tableaux NumPy ?
Les principales différences résident dans les capacités et les cas d'utilisation. Le module array de Python fournit des fonctionnalités de base permettant de créer des tableaux compacts et restreints à un type, similaires à ceux utilisés dans des langages tels que C. D'autre part, les tableaux NumPy offrent des fonctionnalités avancées telles que la prise en charge des tableaux multidimensionnels, une vaste bibliothèque de fonctions mathématiques et des optimisations de performances grâce à la vectorisation. NumPy est généralement privilégié pour les calculs numériques et scientifiques.
Puis-je utiliser le module array de Python pour les types de données chaîne ou objet ?
Non, le module tableau est conçu pour contenir uniquement des types de données de base tels que des entiers, des flottants et autres types similaires. Il ne prend pas en charge les chaînes de caractères ni les objets. Pour les collections de ce type, les listes Python ou d'autres structures de données telles que les tuples ou les dictionnaires sont plus appropriées.
Pourquoi est-il préférable d'utiliser des tableaux NumPy plutôt que des listes Python pour les données numériques ?
Les tableaux NumPy sont spécialement optimisés pour les calculs numériques. Ils offrent des capacités de stockage et de traitement efficaces qui surpassent celles des listes Python, en particulier pour les grands ensembles de données. Des fonctionnalités telles que la vectorisation permettent d'effectuer des opérations sur des tableaux entiers sans boucles explicites, ce qui améliore considérablement les performances et la lisibilité du code.

