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. ]]`