How to convert real numpy array to int numpy array? Tried using map directly to array but it did not work.
To convert numpy float to int array in Python, use the np. astype() function. The np. astype() function takes an array of float values and converts it into an integer array.
For splitting the 2d array,you can use two specific functions which helps in splitting the NumPy arrays row wise and column wise which are split and hsplit respectively . 1. split function is used for Row wise splitting. 2.
Use the astype
method.
>>> x = np.array([[1.0, 2.3], [1.3, 2.9]]) >>> x array([[ 1. , 2.3], [ 1.3, 2.9]]) >>> x.astype(int) array([[1, 2], [1, 2]])
Some numpy functions for how to control the rounding: rint, floor,trunc, ceil. depending how u wish to round the floats, up, down, or to the nearest int.
>>> x = np.array([[1.0,2.3],[1.3,2.9]]) >>> x array([[ 1. , 2.3], [ 1.3, 2.9]]) >>> y = np.trunc(x) >>> y array([[ 1., 2.], [ 1., 2.]]) >>> z = np.ceil(x) >>> z array([[ 1., 3.], [ 2., 3.]]) >>> t = np.floor(x) >>> t array([[ 1., 2.], [ 1., 2.]]) >>> a = np.rint(x) >>> a array([[ 1., 2.], [ 1., 3.]])
To make one of this in to int, or one of the other types in numpy, astype (as answered by BrenBern):
a.astype(int) array([[1, 2], [1, 3]]) >>> y.astype(int) array([[1, 2], [1, 2]])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With