Types de données NumPy


Types de données en Python

Par défaut, Python a ces types de données :

  • strings- utilisé pour représenter des données textuelles, le texte est indiqué entre guillemets. par exemple "ABCD"
  • integer- utilisé pour représenter des nombres entiers. par exemple -1, -2, -3
  • float- utilisé pour représenter des nombres réels. ex. 1.2, 42.42
  • boolean- utilisé pour représenter Vrai ou Faux.
  • complex- utilisé pour représenter les nombres complexes. par exemple 1.0 + 2.0j, 1.5 + 2.5j

Types de données dans NumPy

NumPy a des types de données supplémentaires et fait référence à des types de données avec un caractère, comme ipour les entiers, upour les entiers non signés, etc.

Vous trouverez ci-dessous une liste de tous les types de données dans NumPy et les caractères utilisés pour les représenter.

  • i- entier
  • b- booléen
  • u- entier non signé
  • f- flotter
  • c- flotteur complexe
  • m- timedelta
  • M- date et heure
  • O- objet
  • S- chaîne de caractères
  • U- chaîne unicode
  • V- bloc de mémoire fixe pour un autre type ( void )

Vérification du type de données d'un tableau

L'objet tableau NumPy a une propriété appelée dtype qui renvoie le type de données du tableau :

Exemple

Obtenez le type de données d'un objet tableau :

import numpy as np

arr = np.array([1, 2, 3, 4])

print(arr.dtype)

Exemple

Obtenez le type de données d'un tableau contenant des chaînes :

import numpy as np

arr = np.array(['apple', 'banana', 'cherry'])

print(arr.dtype)


Création de tableaux avec un type de données défini

Nous utilisons la array()fonction pour créer des tableaux, cette fonction peut prendre un argument optionnel : dtype cela nous permet de définir le type de données attendu des éléments du tableau :

Exemple

Créez un tableau avec une chaîne de type de données :

import numpy as np

arr = np.array([1, 2, 3, 4], dtype='S')

print(arr)
print(arr.dtype)

Pour i, u, f, Set Unous pouvons également définir la taille.

Exemple

Créez un tableau avec un type de données entier de 4 octets :

import numpy as np

arr = np.array([1, 2, 3, 4], dtype='i4')

print(arr)
print(arr.dtype)

Que faire si une valeur ne peut pas être convertie ?

Si un type est donné dans lequel les éléments ne peuvent pas être transtypés, NumPy lèvera une ValueError.

ValueError : en Python, ValueError est déclenché lorsque le type d'argument passé à une fonction est inattendu/incorrect.

Exemple

Une chaîne non entière telle que 'a' ne peut pas être convertie en entier (provoquera une erreur) :

import numpy as np

arr = np.array(['a', '2', '3'], dtype='i')

Conversion du type de données sur des tableaux existants

La meilleure façon de changer le type de données d'un tableau existant est de faire une copie du tableau avec la astype()méthode .

La astype()fonction crée une copie du tableau et vous permet de spécifier le type de données en tant que paramètre.

Le type de données peut être spécifié à l'aide d'une chaîne, comme 'f'pour float, 'i'pour entier, etc. ou vous pouvez utiliser le type de données directement comme floatpour float et intpour entier.

Exemple

Changez le type de données de float en entier en utilisant 'i'comme valeur de paramètre :

import numpy as np

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

newarr = arr.astype('i')

print(newarr)
print(newarr.dtype)

Exemple

Changez le type de données de float en entier en utilisant intcomme valeur de paramètre :

import numpy as np

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

newarr = arr.astype(int)

print(newarr)
print(newarr.dtype)

Exemple

Changez le type de données d'entier en booléen :

import numpy as np

arr = np.array([1, 0, 3])

newarr = arr.astype(bool)

print(newarr)
print(newarr.dtype)

Testez-vous avec des exercices

Exercer:

NumPy utilise un caractère pour représenter chacun des types de données suivants, lequel ?

i = integer
 = boolean
 = unsigned integer
 = float
 = complex float
 = timedelta
 = datatime
 = object
 = string