Exploration des types de données de 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 laboratoire, nous allons aborder les types de données dans la bibliothèque NumPy de Python. Nous allons étudier la syntaxe de l'objet dtype et ses paramètres.

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 au carnet Jupyter pour la pratique.

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

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ésoudrons rapidement le problème pour vous.

Comprendre l'objet dtype de NumPy

En NumPy, tous les éléments d'un tableau sont des objets de type de données, également appelés dtypes NumPy. L'objet de type de données est utilisé pour implémenter la taille fixe de la mémoire correspondant à un tableau.

Il nous fournit principalement des informations sur les points suivants :

  • Le type de données (par exemple, entier, flottant ou objet Python)
  • La taille des données
  • L'ordre des octets (petit - boutiste ou grand - boutiste)
  • Dans le cas d'un type structuré, il nous indique les noms des champs, le type de données de chaque champ et la partie du bloc mémoire occupée par chaque champ.
  • Dans le cas où le type de données est un sous - tableau, il nous indique sa forme et son type de données

Création d'un objet dtype de NumPy

Voici la syntaxe requise pour créer l'objet dtype :

numpy.dtype(object, align, copy)

Voici la description des arguments du constructeur mentionné ci - dessus :

  • object : Cet argument est utilisé pour représenter l'objet qui doit être converti au type de données.
  • align : C'est un argument facultatif. Il est utilisé pour ajouter du rembourrage aux champs pour correspondre à ce qu'un compilateur C produirait pour une structure C similaire. Cet argument peut être défini sur n'importe quelle valeur booléenne.
  • copy : Cet argument est utilisé pour créer une copie de l'objet dtype et il est également un argument facultatif.

Types de données numériques dans NumPy

La bibliothèque NumPy fournit principalement une plage plus large de types de données numériques que celles fournies par Python. La liste des types de données numériques est donnée dans le tableau ci-dessous :

SN Type de données Description
1 bool_ Ce type est utilisé pour représenter la valeur booléenne indiquant vrai ou faux. Il est stocké sous forme d'un octet.
2 int_ C'est le type par défaut d'un entier. Il est identique au type long en C qui contient principalement des entiers de 64 bits ou 32 bits.
3 intc Ce type est similaire à l'entier C (int en C) car il représente un entier de 32 ou 64 bits.
4 intp Ce type est utilisé pour représenter les entiers utilisés pour l'indexation.
5 int8 C'est un entier sur 8 bits identique à un octet. La plage de valeurs est de -128 à 127.
6 int16 C'est un entier sur 2 octets (16 bits) et la plage est de -32768 à 32767.
7 int32 C'est un entier sur 4 octets (32 bits). La plage est de -2147483648 à 2147483647.
8 int64 C'est un entier sur 8 octets (64 bits) et la plage est de -9223372036854775808 à 9223372036854775807.
9 uint8 C'est un entier non signé sur 1 octet (8 bits).
10 uint16 C'est un entier non signé sur 2 octets (16 bits).
11 uint32 C'est un entier non signé sur 4 octets (32 bits).
12 uint64 C'est un entier non signé sur 8 octets (64 bits).
13 float_ Ce type est identique à float64.
14 float16 Ce type est utilisé pour représenter un flottant à demi - précision. 5 bits sont réservés pour l'exposant. 10 bits sont réservés pour la mantisse et 1 bit est réservé pour le signe.
15 float32 Ce type est utilisé pour représenter un flottant à précision simple. 8 bits sont réservés pour l'exposant, 23 bits sont réservés pour la mantisse et 1 bit est réservé pour le signe.
16 float64 Ce type est utilisé pour représenter un flottant à précision double. 11 bits sont réservés pour l'exposant, 52 bits sont réservés pour la mantisse, 1 bit est utilisé pour le signe.
17 complex_ Ce type est identique à complex128.
18 complex64 Ce type est utilisé pour représenter un nombre complexe où la partie réelle et la partie imaginaire occupent chacun 32 bits.
19 complex128 Ce type est utilisé pour représenter un nombre complexe où la partie réelle et la partie imaginaire occupent chacun 64 bits.

Caractères utilisés pour représenter dtype dans NumPy

Voici la liste des caractères utilisés pour représenter dtype dans NumPy :

  • i : entier
  • b : booléen
  • u : entier non signé
  • f : flottant
  • c : flottant complexe
  • m : durée
  • M : date et heure
  • O : objet
  • S : chaîne de caractères
  • U : chaîne de caractères Unicode
  • V : bloc fixe de mémoire pour d'autres types (void)

Exemples

Exemple 1 : Trouver le type de données d'un tableau

Nous allons essayer de trouver le type de données du tableau contenant des chaînes de caractères :

import numpy as np

ar1 = np.array(['chaise', 'livre', 'carnet'])
print(ar1.dtype)

Sortie :

<U8

Exemple 2 : Construire un objet dtype

Nous pouvons créer un objet dtype en utilisant la fonction numpy.dtype.

import numpy as np

dt1 = np.dtype(np.int64)
print (dt1)

Sortie :

int64

Exemple 3 : Utiliser la représentation plus courte des types de données numériques

Dans l'exemple suivant, nous utiliserons la représentation plus courte des types de données numériques :

import numpy as np

a = np.dtype('i4')
print (a)

Sortie :

int32

Exemple 4 : Créer un objet dtype structuré

Nous allons créer un type structuré de données et l'appliquer à un objet ndarray :

import numpy as np

## informations avec clé et valeur
a = np.dtype([('rollno',np.int16)])
print(a)

a = np.array([(101,),(201,),(301,)], dtype=a)
print(a)

Sortie :

[('rollno', '<i2')]
[(101,) (201,) (301,)]

Exemple 5 : Changer le type de données

Dans l'exemple suivant, nous allons changer le type de données de float à entier en utilisant int comme valeur de paramètre :

import numpy as np

ar= np.array([1.1, 2.1, 3.1])

newarr = ar.astype(int)

print(newarr)
print(newarr.dtype)

Sortie :

[1 2 3]
int64

Récapitulatif

Dans ce laboratoire, nous avons abordé le concept des types de données dans un tableau. Nous avons vu comment l'objet dtype est utilisé pour spécifier le type de données des valeurs, sa syntaxe et les paramètres requis pour l'objet dtype. Nous avons également étudié divers types de données numériques et quelques exemples pour votre compréhension.