Python | Отфильтровать целые числа из массива чисел с плавающей запятой

Опубликовано: 26 Марта, 2022

Учитывая массив numpy, задача состоит в том, чтобы отфильтровать целые числа из массива, содержащего числа с плавающей запятой и целые числа. Давайте посмотрим несколько методов решения данной задачи.

Method #1 : Using astype(int)

# Python code to demonstrate 
# filtering integers from numpy array
# containing integers and float
  
import numpy as np
  
# initialising array
ini_array = np.array([1.0, 1.2, 2.2, 2.0, 3.0, 2.0])
  
# printing initial array
print ("initial array : ", str(ini_array))
  
# filtering integers
result = ini_array[ini_array != ini_array.astype(int)]
  
# printig resultant
print ("final array", result)
Output:
initial array :  [ 1.   1.2  2.2  2.   3.   2. ]
final array [ 1.2  2.2]

 
Method #2: Using np.equal() and np.mod()

# Python code to demonstrate 
# filtering integers from numpy array
# containing integers and float
  
import numpy as np
  
# initialising array
ini_array = np.array([1.0, 1.2, 2.2, 2.0, 3.0, 2.0])
  
# printing initial array
print ("initial array : ", str(ini_array))
  
# filtering integers
result = ini_array[~np.equal(np.mod(ini_array, 1), 0)]
  
# printing resultant
print ("final array : ", str(result))
Output:

initial array :  [ 1.   1.2  2.2  2.   3.   2. ]
final array :  [ 1.2  2.2]