Python | Filtrar enteros de la array numpy flotante

Dada una array numpy, la tarea es filtrar los enteros de una array que contiene flotantes y enteros. Veamos algunos métodos para resolver una tarea dada.
Método #1: Usando un tipo (int) 
 

Python3

# 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)]
 
# printing resultant
print ("final array", result)
Producción: 

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

 

  
Método #2: Usar np.equal() y np.mod() 
 

Python3

# 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))
Producción: 

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

 

  
Método #3: Usar np.isclose() 
 

Python3

# 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
mask = np.isclose(ini_array, ini_array.astype(int))
result = ini_array[~mask]
 
# printing resultant
print ("final array : ", str(result))
Producción: 

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

 

Publicación traducida automáticamente

Artículo escrito por garg_ak0109 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *