Convertir cadena a flotante en NumPy
-
Convertir cadena en flotante en NumPy usando el método
astype()
-
Convertir cadena en flotante en NumPy usando el método
asarray()
-
Convertir cadena en flotante en NumPy usando el método
asfarray()
Las conversiones entre datos numéricos y datos de cadena son un poco difíciles de manejar. Pero en Python, todo esto es casi sin esfuerzo porque Python tiene muchas funcionalidades incorporadas especialmente diseñadas para impulsar conversiones como esa.
Python incluso tiene un montón de bibliotecas externas para manejar estas conversiones con un rendimiento y velocidades mejorados. NumPy es una de esas bibliotecas.
NumPy es una biblioteca de Python que trata sobre matrices y arrays multidimensionales y todo tipo de cálculos matemáticos y lógicos que podemos realizar en ellos. Este artículo presentará cómo convertir un array de cadenas NumPy en un array flotante NumPy utilizando NumPy.
Convertir cadena en flotante en NumPy usando el método astype()
astype
es una función de clase incorporada para objetos de tipo ndarray
. Este método devuelve una copia del ndarray
y lo convierte en un tipo de datos específico.
La sintaxis del método astype()
se muestra a continuación.
astype(dtype, order, casting, subok, copy)
Tiene los siguientes parámetros.
dtype
: es el tipo de datos al que se convertirá el array NumPy,order
: este es un parámetro opcional. Este parámetro controla el diseño de la memoria del array resultante o la salida.casting
- Este es un parámetro opcional. Este parámetro controla el tipo de casting o conversión que se llevará a cabo. Por defecto, su valor esunsafe
.subok
: este es un parámetro booleano opcional. Decide si el array de salida será del tiponparray
o de las subclases dendarray
.copy
: este es un parámetro booleano opcional. Decide si la salida debe ser un array recién asignada o no.
Puede utilizar este método para realizar la conversión. Consulte el siguiente fragmento de código.
import numpy as np
stringArray = np.array(
["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"]
)
floatArray = stringArray.astype(float)
print(stringArray)
print(floatArray)
Producción :
['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00 1.235e+00 1.250e-04 2.000e+00 5.500e+01 -1.235e+01
0.000e+00 -2.500e-04]
Para obtener más información sobre este método, consulte su documentación oficial
Convertir cadena en flotante en NumPy usando el método asarray()
asarray()
es una función NumPy que convierte el array de entrada en un array NumPy de un tipo específico. el array de entrada puede ser una lista de Python, tuplas, tuplas de listas, lista de tuplas, listas de listas, tuplas de tuplas y un array NumPy en sí.
La sintaxis del método asarray()
se muestra a continuación.
asarray(a, dtype, order, like)
Tiene los siguientes parámetros.
a
- Es el array de entrada que se convertirá.dtype
: se refiere al tipo de datos del array convertida. De forma predeterminada, esta función infiere automáticamente el tipo de datos del array de entrada.order
: este es un parámetro opcional. Este parámetro decide el diseño de la memoria del array convertida.like
: este es un parámetro booleano opcional. Controla la definición del array recién creada.
Para obtener más información sobre este método, consulte los documentos oficiales
import numpy as np
stringArray = np.array(
["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"]
)
floatArray = np.asarray(stringArray, dtype=float)
print(stringArray)
print(floatArray)
Producción :
['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00 1.235e+00 1.250e-04 2.000e+00 5.500e+01 -1.235e+01
0.000e+00 -2.500e-04]
Convertir cadena en flotante en NumPy usando el método asfarray()
Por último, es el asfarray()
. Es posible que ya hayas adivinado lo que hace este método. Convierte el array de entrada en un NumPy de tipo float.
La sintaxis del método asfarray()
se muestra a continuación.
asfarray(a, dtype)
Este método tiene solo dos parámetros.
a
- Es el array de entrada que se convertirá en un array flotante.dtype
: es un parámetro opcional y se refiere al tipo de datos del array de salida. Puede serstr
o uno de los tipos de datos flotantes. Si su valor es uno de los tipos de datos enteros, se reemplaza automáticamente con el tipo de datosfloat64
.
import numpy as np
stringArray = np.array(
["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"]
)
floatArray = np.asfarray(stringArray, dtype=float)
print(stringArray)
print(floatArray)
Producción :
['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00 1.235e+00 1.250e-04 2.000e+00 5.500e+01 -1.235e+01
0.000e+00 -2.500e-04]
Consulte los documentos oficiales para obtener más información.