Python - Filter out integers from float numpy array

PythonServer Side ProgrammingProgramming

As part of data cleansing activities, we may sometimes need to take out the integers present in a list. In this article we will have an array containing both floats and integers. We will remove the integers from the array and print out the floats.

With astype

The astype function will be used to find if an element from the array is an integer or not. Accordingly we will decide to keep or remove the element from the array and store it in the result set.

Example

 Live Demo

import numpy as np

# initialising array
A_array = np.array([3.2, 5.5, 2.0, 4.1,5])

print("Given array :\n ", A_array)

# Only integers
res = A_array[A_array != A_array.astype(int)]

# result
print("Array without integers:\n", res)

Output

Running the above code gives us the following result −

Given array :
   [3.2 5.5 2. 4.1 5. ]
Array without integers:
   [3.2 5.5 4.1]

With equal and mod

In this approach we apply the mod function to each element of the array and check that on dividing the result is zero or not. If the result is not a zero then it is considered a float and kept as the result.

Example

 Live Demo

import numpy as np

# initialising array
A_array = np.array([3.2, 5.5, 2.0, 4.1,5])

print("Given array :\n ", A_array)

# Only integers
res = A_array[~np.equal(np.mod(A_array, 1), 0)]

# result
print("Array without integers:\n", res)

Output

Running the above code gives us the following result −

Given array :
   [3.2 5.5 2. 4.1 5. ]
Array without integers:
   [3.2 5.5 4.1]
raja
Published on 22-Jul-2020 08:35:51
Advertisements