Techniques fondamentales de création de tableaux NumPy

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

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

Introduction

Ce laboratoire fournit un guide étape par étape sur la manière de créer des tableaux à l'aide de NumPy, une bibliothèque fondamentale pour les conteneurs de tableaux en Python. Vous allez apprendre différentes méthodes de création de tableaux, y compris la conversion de séquences Python, l'utilisation de fonctions de création de tableaux intrinsèques de NumPy, la duplication et la jonction de tableaux existants, la lecture de tableaux à partir du disque, la création de tableaux à partir de bytes bruts et l'utilisation de fonctions spéciales de bibliothèque.

Note : Vous pouvez écrire votre code dans 01-array-creation.ipynb. Certaines opérations d'impression sont omises dans les étapes, et vous pouvez imprimer la sortie selon vos besoins.

Conversion de séquences Python en tableaux NumPy

Pour créer des tableaux NumPy, vous pouvez convertir des séquences Python telles que des listes et des tuples. Voici comment faire :

import numpy as np

## Créez un tableau 1D à partir d'une liste
a1D = np.array([1, 2, 3, 4])

## Créez un tableau 2D à partir d'une liste de listes
a2D = np.array([[1, 2], [3, 4]])

## Créez un tableau 3D à partir de listes imbriquées
a3D = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

Lors de la création de tableaux, vous pouvez également spécifier le type de données à l'aide du paramètre dtype. Soyez prudent lors des affectations de type de données pour éviter les débordements ou des résultats inattendus.

Utilisation des fonctions de création de tableaux intrinsèques de NumPy

NumPy fournit des fonctions intégrées pour créer des tableaux. Voici quelques exemples :

import numpy as np

## Créez un tableau 1D avec des valeurs régulièrement incrémentées
arr1D = np.arange(10)

## Créez un tableau 1D avec un type de données spécifique
arr1D_float = np.arange(2, 10, dtype=float)

## Créez un tableau 1D avec un nombre spécifié d'éléments
arr1D_linspace = np.linspace(1., 4., 6)

## Créez une matrice identité 2D
identity_matrix = np.eye(3)

## Créez une matrice 2D avec des valeurs données le long de la diagonale
diag_matrix = np.diag([1, 2, 3])

## Créez une matrice de Vandermonde
vander_matrix = np.vander([1, 2, 3, 4], 2)

## Créez un tableau rempli de zéros
zeros_array = np.zeros((2, 3))

## Créez un tableau rempli de uns
ones_array = np.ones((2, 3))

## Créez un tableau rempli de valeurs aléatoires
random_array = np.random.default_rng(42).random((2, 3))

Duplication, jonction ou mutation de tableaux existants

Une fois que vous avez créé des tableaux, vous pouvez les dupliquer, les joindre ou les muter pour créer de nouveaux tableaux. Lorsque vous assignez un tableau ou ses éléments à une nouvelle variable, utilisez la fonction np.copy pour créer un nouveau tableau au lieu d'une vue sur le tableau d'origine. Voici un exemple :

import numpy as np

## Créez un tableau
a = np.array([1, 2, 3, 4])

## Créez une vue sur les deux premiers éléments du tableau
b = a[:2]

## Modifiez la vue
b += 1

## Affichez le tableau d'origine et la vue modifiée
print('a =', a, '; b =', b)

Pour joindre des tableaux, vous pouvez utiliser des fonctions telles que np.vstack, np.hstack et np.block. Voici un exemple de jonction de quatre tableaux 2x2 en un tableau 4x4 à l'aide de np.block :

import numpy as np

A = np.ones((2, 2))
B = np.eye(2)
C = np.zeros((2, 2))
D = np.diag((-3, -4))

result = np.block([[A, B], [C, D]])

Lecture de tableaux à partir du disque

Vous pouvez lire des tableaux à partir du disque dans différents formats. Pour les formats binaires standards, il existe des bibliothèques Python telles que h5py pour HDF5 et Astropy pour FITS. Pour les formats ASCII courants comme CSV et TSV, vous pouvez utiliser les fonctions np.loadtxt et np.genfromtxt. Voici un exemple de lecture d'un fichier CSV :

import numpy as np

data = np.loadtxt('data.csv', delimiter=',', skiprows=1)

Récapitulatif

Dans ce laboratoire, vous avez appris à créer des tableaux à l'aide de NumPy. Vous avez découvert différentes méthodes, y compris la conversion de séquences Python, l'utilisation des fonctions de création de tableaux intrinsèques de NumPy, la duplication et la jonction de tableaux existants, la lecture de tableaux à partir du disque, la création de tableaux à partir de bytes bruts et l'utilisation de fonctions spéciales de bibliothèque. Avec ces techniques, vous pouvez créer et manipuler efficacement des tableaux pour diverses tâches scientifiques et d'analyse de données.