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