Types de données NumPy

Types de données dans Python

Par défaut, Python possède les types de données suivants :

  • strings - Utilisé pour représenter les données de texte, les textes sont encadrés par des guillemets. Par exemple "ABCD".
  • integer - Utilisé pour représenter les entiers. Par exemple -1, -2, -3.
  • float - Utilisé pour représenter les nombres réels. Par exemple 1.2, 42.42.
  • boolean - Utilisé pour représenter True ou False.
  • complex - Utilisé pour représenter les nombres dans le plan complexe. Par exemple 1.0 + 2.0j, 1.5 + 2.5j.

Types de données de NumPy

NumPy a quelques types de données supplémentaires, et les types de données sont référencés par un caractère, par exemple i Représente les entiers,u Représente les entiers non signés, etc.

Voici la liste de tous les types de données de NumPy et les caractères utilisés pour les représenter.

  • i - Entier
  • b - Booléen
  • u - Entier non signé
  • f - Flottant
  • c - Nombre flottant composé
  • m - Timedelta
  • M - Datetime
  • O - Objet
  • S - Chaîne
  • U - Chaîne unicode
  • V - Bloc mémoire de type fixe d'autres types ( void )

Vérifier le type de données du tableau

Un objet tableau NumPy a un attribut nommé dtype L'attribut, qui retourne le type de données du tableau :

Exemple

Obtenir le type de données de l'objet tableau :

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

Exécuter l'exemple

Exemple

Obtenir le type de données du tableau contenant des chaînes :

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

Exécuter l'exemple

Créer un tableau avec un type de données défini

Nous utilisons array() La fonction pour créer un tableau, qui peut utiliser des paramètres optionnels :dtypeIl nous permet de définir le type de données des éléments du tableau :

Exemple

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

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

Exécuter l'exemple

Pour iufS et UNous pouvons également définir la taille.

Exemple

Créer un tableau d'entiers de 4 octets :

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

Exécuter l'exemple

Qu'arrive-t-il si la valeur ne peut pas être convertie ?

Si l'élément ne peut pas être converti, NumPy déclenche ValueError.

ValueError : En Python, si le type des paramètres passés à la fonction n'est pas attendu ou incorrect, une ValueError est levée.

Exemple

Impossible de convertir une chaîne de caractères non entière (comme 'a') en entier (cela provoquera une erreur) :

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

Exécuter l'exemple

Convertir le type de données d'un array existant

Le meilleur moyen de changer le type de données d'un array existant est d'utiliser astype() La méthode copie l'array.

astype() La fonction crée une copie de l'array 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é en tant que chaîne de caractères, par exemple 'f' représente un flottant,'i' représente des entiers, etc. Ou vous pouvez également utiliser directement le type de données, par exemple float représente un flottant,int représente un entier.

Exemple

En utilisant 'i' En tant que valeur de paramètre, changer le type de données de flottant en entier :

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

Exécuter l'exemple

Exemple

En utilisant int En tant que valeur de paramètre, changer le type de données de flottant en entier :

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

Exécuter l'exemple

Exemple

Changer le type de données de l'entier en booléen :

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

Exécuter l'exemple