Convertir un objet en float dans les pandas
-
Utilisez la méthode
astype()
pour convertir un objet en float dans les pandas -
Utilisez la fonction
to_numeric()
pour convertir un objet en Float dans les pandas
Dans ce tutoriel, nous nous concentrerons sur la conversion d’une colonne de type objet pour qu’elle flotte dans Pandas. Une colonne de type objet contient une chaîne de caractères ou un mélange d’autres types, tandis que float contient des valeurs décimales. Dans cet article, nous travaillerons sur le DataFrame suivant.
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())
Production :
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
Remarquez le type de colonne 'a'
, qui est du type object
. Nous allons convertir cet objet en float en utilisant les fonctions pd.to_numeric()
et astype()
dans Pandas.
convert_objects()
qui est dépréciée et supprimée.Utilisez la méthode astype()
pour convertir un objet en float dans les pandas
Les pandas fournissent la méthode astype()
pour convertir une colonne en un type spécifique. Nous passons le paramètre float
à la méthode et définissons le paramètre errors
comme 'raise'
, ce qui signifie qu’il lèvera des exceptions pour les valeurs non valides. Exemple :
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())
Production :
<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
Utilisez la fonction to_numeric()
pour convertir un objet en Float dans les pandas
La fonction Pandas to_numeric()
peut être utilisée pour convertir une liste, une série, un tableau, ou un tuple en un type de données numérique, ce qui signifie un int signé, ou un int non signé et un float type. Elle possède également le paramètre errors
pour lever des exceptions. Un exemple de conversion du type d’objet en float en utilisant to_numeric()
est montré ci-dessous :
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())
Production :
<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.
LinkedInArticle connexe - Pandas DataFrame
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment convertir un float en un entier dans Pandas DataFrame
- Comment trier le DataFrame de Pandas par les valeurs d'une colonne
- Comment obtenir l'agrégat des Pandas par groupe et par somme