Converti oggetto in float in Pandas
-
Usa il metodo
astype()
per convertire un oggetto in float in Pandas -
Usa la funzione
to_numeric()
per convertire un oggetto in virgola mobile in Pandas
In questo tutorial, ci concentreremo sulla conversione di una colonna di tipo oggetto in float in Pandas. Una colonna di tipo oggetto contiene una stringa o una combinazione di altri tipi, mentre float contiene valori decimali. Lavoreremo sul seguente DataFrame in questo articolo.
import pandas as pd
df = pd.DataFrame(
[["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
columns=["a", "b", "c", "d"],
)
print(df)
print("---------------------------")
print(df.info())
Produzione:
a b c d
0 10.0 6 7 8
1 1.0 9 12 14
2 5.0 8 10 6
---------------------------
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 a 3 non-null object
1 b 3 non-null int64
2 c 3 non-null int64
3 d 3 non-null int64
dtypes: int64(3), object(1)
memory usage: 224.0+ bytes
None
Notare il tipo di colonna 'a'
, che è del tipo object
. Convertiremo questo oggetto in float usando le funzioni pd.to_numeric()
e astype()
in Pandas.
convert_objects()
che è deprecata e rimossa.Usa il metodo astype()
per convertire un oggetto in float in Pandas
I pandas forniscono il metodo astype()
per convertire una colonna in un tipo specifico. Passiamo float
al metodo e impostiamo il parametro errors
come 'raise'
, il che significa che solleverà eccezioni per valori non validi. Esempio:
import pandas as pd
df = pd.DataFrame(
[["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
columns=["a", "b", "c", "d"],
)
df["a"] = df["a"].astype(float, errors="raise")
print(df.info())
Produzione:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a 3 non-null float64
b 3 non-null int64
c 3 non-null int64
d 3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes
Usa la funzione to_numeric()
per convertire un oggetto in virgola mobile in Pandas
La funzione Pandas to_numeric()
può essere utilizzata per convertire una lista, una serie, un array o una tupla in un tipo di dati numerico, che significa int e float con segno o senza segno. Ha anche il parametro errors
per sollevare eccezioni. Di seguito è mostrato un esempio di conversione del tipo di oggetto in float utilizzando to_numeric()
:
import pandas as pd
df = pd.DataFrame(
[["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
columns=["a", "b", "c", "d"],
)
df["a"] = pd.to_numeric(df["a"], errors="coerce")
print(df.info())
Produzione:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a 3 non-null float64
b 3 non-null int64
c 3 non-null int64
d 3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum