Convertire una stringa in float in NumPy

Vaibhav Vaibhav 22 giugno 2021
  1. Converti una stringa in virgola mobile in NumPy usando il metodo astype()
  2. Converti una stringa in virgola mobile in NumPy usando il metodo asarray()
  3. Converti una stringa in virgola mobile in NumPy usando il metodo asfarray()
Convertire una stringa in float in NumPy

Le conversioni tra dati numerici e dati stringa sono un po’ difficili da gestire. Ma in Python, tutto questo è quasi senza sforzo perché Python ha molte funzionalità integrate appositamente predisposte per guidare le conversioni in questo modo.

Python ha anche un sacco di librerie esterne per gestire queste conversioni con prestazioni e velocità migliorate. NumPy è una di queste librerie.

NumPy è una libreria Python che riguarda array e matrici multidimensionali e tutti i tipi di calcoli matematici e logici che possiamo eseguire su di essi. Questo articolo introdurrà come convertire un array di stringhe NumPy in un array float NumPy usando NumPy stesso.

Converti una stringa in virgola mobile in NumPy usando il metodo astype()

astype è una funzione di classe in-build per oggetti di tipo ndarray. Questo metodo restituisce una copia di ndarray e la converte in un tipo di dati specificato.

La sintassi del metodo astype() è di seguito.

astype(dtype, order, casting, subok, copy)

Ha i seguenti parametri.

  • dtype - È il tipo di dati a cui verrà eseguito il cast dell’array NumPy,
  • order - Questo è un parametro opzionale. Questo parametro controlla il layout di memoria della matrice risultante o dell’output.
  • casting - Questo è un parametro opzionale. Questo parametro controlla il tipo di trasmissione o conversione che avrà luogo. Per impostazione predefinita, il suo valore è unsafe.
  • subok - Questo è un parametro booleano opzionale. Decide se l’array di output sarà di tipo nparray o delle sottoclassi di ndarray.
  • copy - Questo è un parametro booleano opzionale. Decide se l’output deve essere un array appena allocato o meno.

È possibile utilizzare questo metodo per eseguire la conversione. Fare riferimento al seguente frammento di codice.

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)

Produzione:

['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]

Per ulteriori informazioni su questo metodo, fare riferimento alla sua documentazione ufficiale

Converti una stringa in virgola mobile in NumPy usando il metodo asarray()

asarray() è una funzione NumPy che converte l’array di input in un array NumPy di ​​un tipo specificato. L’array di input può essere una lista di Python, tuple, tuple di elenchi, elenco di tuple, elenchi di elenchi, tuple di tuple e un array NumPy stesso.

La sintassi del metodo asarray() è di seguito.

asarray(a, dtype, order, like)

Ha i seguenti parametri.

  • a - È l’array di input che verrà convertito.
  • dtype - Si riferisce al tipo di dati dell’array convertito. Per impostazione predefinita, questa funzione deduce automaticamente il tipo di dati dall’array di input.
  • order - Questo è un parametro opzionale. Questo parametro decide il layout di memoria dell’array convertito.
  • like - Questo è un parametro booleano opzionale. Controlla la definizione dell’array appena creato.

Per saperne di più su questo metodo, fare riferimento a i documenti ufficiali

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)

Produzione:

['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]

Converti una stringa in virgola mobile in NumPy usando il metodo asfarray()

Infine, è il metodo asfarray(). Potresti aver già intuito cosa fa questo metodo. Converte l’array di input in un NumPy di tipo float.

La sintassi del metodo asfarray() è di seguito.

asfarray(a, dtype)

Questo metodo ha solo due parametri.

  • a - È l’array di input che verrà convertito in un array float.
  • dtype - È un parametro opzionale e si riferisce al tipo di dati dell’array di output. Può essere str o uno dei tipi di dati float. Se il suo valore è uno dei tipi di dati interi, viene automaticamente sostituito con il tipo di dati 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)

Produzione:

['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]

Fare riferimento a i documenti ufficiali per saperne di più.

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.