Active March 22, 2019    /    Viewed 205095    /    Comments 0    /    Edit

Examples of how to convert a float array to an integer array in python:

### Using the numpy function astype

To convert a float array to an integer array in python, a solution is to use astype, example:

````>>> import numpy as np`
`>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))`
`>>> A`
`array([ 0.4,  1.6,  2.1, -3.7,  2.9])`
`>>> A = A.astype(int)`
`>>> A`
`array([ 0,  1,  2, -3,  2])`
```

### Round the numbers before converting them in integer

It is also possible to round the numbers and after convert them to integer using the numpy function around

````>>> import numpy as np`
`>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))`
`>>> A`
`array([ 0.4,  1.6,  2.1, -3.7,  2.9])`
`>>> A = np.around(A)`
`>>> A`
`array([ 0.,  2.,  2., -4.,  3.])`
`>>> A = A.astype(int)`
`>>> A`
`array([ 0,  2,  2, -4,  3])`
```

Note: work also with the function rint, example

````>>> import numpy as np`
`>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))`
`>>> A`
`array([ 0.4,  1.6,  2.1, -3.7,  2.9])`
`>>> A = np.rint(A)`
`>>> A`
`array([ 0.,  2.,  2., -4.,  3.])`
`>>> A = A.astype(int)`
`>>> A`
`array([ 0,  2,  2, -4,  3])`
```

### Truncate the numbers first

````>>> import numpy as np`
`>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))`
`>>> A`
`array([ 0.4,  1.6,  2.1, -3.7,  2.9])`
`>>> A = np.trunc(A)`
`>>> A`
`array([ 0.,  1.,  2., -3.,  2.])`
`>>> A = A.astype(int)`
`>>> A`
`array([ 0,  1,  2, -3,  2])`
```

### Round to the nearest bigger integer

````>>> import numpy as np`
`>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))`
`>>> A`
`array([ 0.4,  1.6,  2.1, -3.7,  2.9])`
`>>> A = np.ceil(A)`
`>>> A`
`array([ 1.,  2.,  3., -3.,  3.])`
`>>> A = A.astype(int)`
`>>> A`
`array([ 1,  2,  3, -3,  3])`
```

### Round to the nearest smaller integer

````>>> import numpy as np`
`>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))`
`>>> A`
`array([ 0.4,  1.6,  2.1, -3.7,  2.9])`
`>>> A = np.floor(A)`
`>>> A`
`array([ 0.,  1.,  2., -4.,  2.])`
`>>> A = A.astype(int)`
`>>> A`
`array([ 0,  1,  2, -4,  2])`
```

### References

astype docs.scipy.org
around scipy doc
rint doc scipy
trunc doc scipy
ceil doc scipy
floor doc scipy
How to convert 2D float numpy array to 2D int numpy array? stackoverflow
Rounding scipy doc
Better rounding in Python's NumPy.around: Rounding NumPy Arrays stackoverflow
are numpy array elements rounded automatically? stackoverflow

##### Daidalos

Hi, I am Ben.

I have developed this web site from scratch with Django to share with everyone my notes. If you have any ideas or suggestions to improve the site, let me know ! (you can contact me using the form in the welcome page). Thanks!

Did you find this content useful ?, If so, please consider donating a tip to the author(s). MoonBooks.org is visited by millions of people each year and it will help us to maintain our servers and create new contents.

Amount