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, -3float
- utilisé pour représenter des nombres réels. ex. 1.2, 42.42boolean
- 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 i
pour les entiers, u
pour 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
- entierb
- booléenu
- entier non signéf
- flotterc
- flotteur complexem
- timedeltaM
- date et heureO
- objetS
- chaîne de caractèresU
- chaîne unicodeV
- 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
,
S
et U
nous 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
float
pour float et int
pour 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 int
comme 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)