Comprendre les types de données de 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 vous fournira un guide étape par étape pour comprendre les différents types de données disponibles dans NumPy et comment modifier le type de données d'un tableau. NumPy prend en charge une large gamme de types numériques, y compris les booléens, les entiers, les nombres à virgule flottante et les nombres complexes. Comprendre ces types de données est important pour effectuer diverses calculs numériques et tâches d'analyse de données à l'aide de NumPy.

Note: Vous pouvez écrire du code dans 04-data-types.ipynb. Certaines opérations d'impression sont omises dans les étapes, et vous pouvez imprimer la sortie selon vos besoins.

Comprendre les types de données

NumPy prend en charge une variété de types numériques étroitement liés à ceux du langage de programmation C. Voici quelques-uns des types de données les plus couramment utilisés dans NumPy :

  • numpy.bool_ : Booléen (True ou False) stocké sous forme d'un octet
  • numpy.byte : Char signé (défini par la plateforme)
  • numpy.ubyte : Char non signé (défini par la plateforme)
  • numpy.short : Entier court (défini par la plateforme)
  • numpy.ushort : Entier court non signé (défini par la plateforme)
  • numpy.intc : Entier (défini par la plateforme)
  • numpy.uintc : Entier non signé (défini par la plateforme)
  • numpy.int_ : Long (défini par la plateforme)
  • numpy.uint : Long non signé (défini par la plateforme)
  • numpy.longlong : Long long (défini par la plateforme)
  • numpy.ulonglong : Long long non signé (défini par la plateforme)
  • numpy.half / numpy.float16 : Flottant à demi-précision
  • numpy.single : Flottant à précision simple (défini par la plateforme)
  • numpy.double : Flottant à double précision (défini par la plateforme)
  • numpy.longdouble : Flottant à précision étendue (défini par la plateforme)
  • numpy.csingle : Nombre complexe représenté par deux flottants à précision simple
  • numpy.cdouble : Nombre complexe représenté par deux flottants à double précision
  • numpy.clongdouble : Nombre complexe représenté par deux flottants à précision étendue

Ces types de données ont des définitions dépendantes de la plateforme, mais NumPy fournit également des alias de taille fixe pour la commodité.

Travailler avec les types de données

Les types de données de NumPy sont représentés sous forme d'objets dtype (type de données). Une fois que vous avez importé NumPy en utilisant import numpy as np, vous pouvez accéder aux types de données en utilisant np.bool_, np.float32, etc.

Vous pouvez utiliser les types de données comme des fonctions pour convertir des nombres Python en scalaires de tableau, des séquences Python de nombres en tableaux de ce type, ou comme arguments pour le mot clé dtype dans de nombreuses fonctions ou méthodes de NumPy. Voici quelques exemples :

x = np.float32(1.0)
## x est maintenant un scalaire de tableau float32 avec la valeur 1.0

y = np.int_([1,2,4])
## y est maintenant un tableau d'entiers avec les valeurs [1, 2, 4]

z = np.arange(3, dtype=np.uint8)
## z est maintenant un tableau uint8 avec les valeurs [0, 1, 2]

Vous pouvez également vous référer aux types de tableau à l'aide de codes caractères, bien que l'utilisation d'objets dtype soit recommandée. Par exemple :

np.array([1, 2, 3], dtype='f')
## renvoie un tableau avec les valeurs [1., 2., 3.] et le dtype float32

Pour convertir le type d'un tableau, vous pouvez utiliser la méthode .astype() ou le type lui-même comme fonction. Par exemple :

z.astype(float)
## renvoie le tableau z avec le dtype float64

np.int8(z)
## renvoie le tableau z avec le dtype int8

Récupérer le type de données d'un tableau

Pour déterminer le type de données d'un tableau, vous pouvez accéder à l'attribut dtype. Par exemple :

z.dtype
## renvoie le dtype du tableau z, qui est uint8

L'objet dtype contient également des informations sur le type, telles que sa largeur en bits et son ordre d'octets. Vous pouvez utiliser l'objet dtype pour interroger les propriétés du type, par exemple pour savoir s'il s'agit d'un entier. Par exemple :

d = np.dtype(int)
## crée un objet dtype pour int

np.issubdtype(d, np.integer)
## renvoie True, indiquant que d est un sous-type de np.integer

np.issubdtype(d, np.floating)
## renvoie False, indiquant que d n'est pas un sous-type de np.floating

Récapitulatif

Dans ce laboratoire, vous avez appris à connaître les différents types de données numériques disponibles dans NumPy et à travailler avec eux. Vous pouvez utiliser des objets dtype pour convertir des nombres Python en scalaires de tableau, créer des tableaux de types spécifiques et modifier le type de données d'un tableau. Comprendre les types de données est important pour effectuer des calculs numériques et des tâches d'analyse de données à l'aide de NumPy.