Examples of how to change array (or matrix) type with numpy in python
Change the type of an existing matrix
Let's consider the following matrix of integer type:
import numpy as np
A = 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
To change the type, a solution is to use astype (see numpy.ndarray.dtype)
A = A.astype('float64')
print(A)
print(A.dtype)
returns
[[10. 20. 30.]
[60. 20. 10.]
[50. 30. 90.]]
and
float64
Initialization of a matrix with a given type
It is also possible to specify the type of a matrix during the creation:
import numpy as np
A = np.array([[1, 2, 3]], dtype=float)
print(A)
print(A.dtype)
returns
[[1. 2. 3.]]
and
float64
Combine matrix with different type
It is important to check the type of a matrix to avoid loosing information, an example let's consider the following matrix A:
A = np.array([[10, 20, 30], [60, 20, 10], [50, 30, 90]])
returns
[[10 20 30]
[60 20 10]
[50 30 90]]
and the matrix B:
B= np.array([[2.1, 7.3, 4.5]])
returns
[[2.1 7.3 4.5]]
Now, if the matrix A is updated using B, like:
A[1,:] = B
returns
[[10 20 30]
[ 2 7 4]
[50 30 90]]
but the elements of B have been modified. To avoid that a solution would have been to do first:
A = A.astype('float64')
A[1,:] = B
returns
[[10. 20. 30. ]
[ 2.1 7.3 4.5]
[50. 30. 90. ]]