Exemples de comment changer le type d'une matrice avec numpy en python:
Changer le type d'une matrice existante
Soit par exemple la matrice de nombres entiers suivantes:
import numpy as npA = np.array([[10, 20, 30], [60, 20, 10], [50, 30, 90]])print(A)print(A.dtype)
donne ici
[[10 20 30][60 20 10][50 30 90]]
et
int64
Pour changer le type de cette matrice on peut utiliser astype (voir aussi numpy.ndarray.dtype)
A = A.astype('float64')print(A)print(A.dtype)
donne
[[10. 20. 30.][60. 20. 10.][50. 30. 90.]]
et
float64
Initialiser une matrice avec un type donnée
On peut aussi preciser le type au moment de la création de la matrice, exemple:
import numpy as npA = np.array([[1, 2, 3]], dtype=float)print(A)print(A.dtype)
donne
[[1. 2. 3.]]
et
float64
Combiner des matrices de différent type
Il est important de vérifier le type d'une matrice pour ne pas perdre d'information, exemple soit la matrice A suivante
A = np.array([[10, 20, 30], [60, 20, 10], [50, 30, 90]])
donne
[[10 20 30][60 20 10][50 30 90]]
et la matrice B:
B= np.array([[2.1, 7.3, 4.5]])
donne
[[2.1 7.3 4.5]]
Si on modifie une ligne de A en utilisant B comme ceci:
A[1,:] = B
on obtient:
[[10 20 30][ 2 7 4][50 30 90]]
mais les éléments de B ont été modifiés. Pour éviter cela, on aurait pu faire par exemple au préalable:
A = A.astype('float64')A[1,:] = B
donne
[[10. 20. 30. ][ 2.1 7.3 4.5][50. 30. 90. ]]
