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 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
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 npA = 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. ]]
