Convertir cadena a flotante en NumPy

Vaibhav Vaibhav 30 enero 2023
  1. Convertir cadena en flotante en NumPy usando el método astype()
  2. Convertir cadena en flotante en NumPy usando el método asarray()
  3. Convertir cadena en flotante en NumPy usando el método asfarray()
Convertir cadena a flotante en NumPy

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 es unsafe.
  • subok: este es un parámetro booleano opcional. Decide si el array de salida será del tipo nparray o de las subclases de ndarray.
  • 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 ser str 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 datos float64.
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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.