Uso de NumPy para convertir elementos de array en tipo flotante

A menudo, hay ocasiones en las que es necesario convertir una array en Python a un tipo diferente. Una de estas veces sería cuando se le da una array y tiene que convertirla en una array de tipos flotantes. Esto suele ser útil cuando se realizan análisis de datos y hay una variedad de formas de hacerlo. Si bien la iteración a través de la array y el uso de la float()función de conversión incorporada de Python son perfectamente válidos, NumPy nos ofrece algunas formas aún más elegantes de realizar el mismo procedimiento.

Método 1: Aquí, podemos utilizar la astype()función que ofrece NumPy. Esta función crea otra copia de la array inicial con el tipo de datos especificado, float en este caso, y luego podemos asignar esta copia a un identificador específico, que es convertArray. Tenga en cuenta que el tipo de datos se especifica en términos de NumPy, principalmente debido a las restricciones de la astype()función NumPy, que solo tomará los tipos NumPy como parámetros.

# Process utilizing astype() function
  
# Import NumPy Library
import numpy as np
  
# Initialize our Array with Strings
# The String Type is denoted by the quotes ""
initialArray = ["1.1", "2.2", "3.3", "4.4"]
  
# Convert initial Array to NumPy Array
# Use the array() function
sampleArray = np.array(initialArray)
  
# Print our Initial Array
print("Our initial array: ", str(initialArray))
print("Original type: " + str(type(initialArray[0])))
  
# Actual Conversion of Array
# Note usage of astype() function
# np.float can be changed to represent differing types
convertedArray = sampleArray.astype(np.float)
  
# Print our final result
# Note that usage of str() is due to Python conventions
print("Our final array: ", str(convertedArray))
print("Final type: " + str(type(convertedArray[0])))

Producción :

Our initial array:  ['1.1', '2.2', '3.3', '4.4']
Original type: <class 'numpy.str_'>
Our final array:  [1.1 2.2 3.3 4.4]
Final type: <class 'numpy.float64'>

Método 2: Aquí, utilizaremos la asarray()función que ofrece NumPy.

# Process utilizing asarray() function
  
# Import NumPy Library
import numpy as np
  
# Initialize our array
# Note, once again, that this is of type String
# Non-NumPy arrays can be used
initialArray = np.array(["1.1", "2.2", "3.3", "4.4"])
  
# Print our initial array
print("Our Initial Array: ", str(initialArray))
print("Original type: " + str(type(initialArray[0])))
  
# Actual conversion of array
# Note that we utilize np.float64 as the finalize data type
finalArray = np.asarray(initialArray, dtype = np.float64, 
                        order ='C')
  
# Print our converted array
print("Our Final Array: ", str(finalArray))
print("Final type: " + str(type(finalArray[0])))

Producción :

Our initial array:  ['1.1', '2.2', '3.3', '4.4']
Original type: <class 'numpy.str_'>
Our final array:  [1.1 2.2 3.3 4.4]
Final type: <class 'numpy.float64'>

Publicación traducida automáticamente

Artículo escrito por ashishjayamohan 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 *