La librairie Pandas de Python permet de changer le type de certaines colonnes d’un dataframe. Il y a plusieurs moyens de spécifier les types de colonnes. On peut le faire de manière dynamique ce qui est particulièrement intéressant lorsque l’on a beaucoup de colonnes.
Nous allons travailler avec l’exemple suivant « x1 ». On constate dans notre liste que le premier élément est au format entier, le deuxième au format flottant et le dernier au format texte.
Utilisons cette méthode avec notre liste « x1 ».
Nous constatons que cela a créé une nouvelle série qui ne contient que des valeurs numériques. Ce sont des flottants.
C’est la meilleure façon de convertir une ou plusieurs colonnes d'un DataFrame en valeurs numériques est d'utiliser la méthode ‘to_numéric()’ :
Il est possible également de transformer plusieurs colonnes ou toutes les colonnes d’un dataframe en accompagnant la méthode « to_numeric » avec la méthode « apply() »:
Cette fonction tentera de transformer des objets non numériques tels que des chaînes en entiers ou en nombre à virgule flottante.
La méthode « to_numeric » permet également de gérer la présence d’éléments au format texte. Partons de l’exemple ci-dessous :
Il s’agit de la même liste que dans notre exemple précédent sauf que nous avons rajouter un dernier élément au format texte.
Si on applique la méthode ‘to_numeric()’ nous allons générer une erreur.
Nous constatons que Python relève une « ValueError » et nous précise que l’élément en position 3 de la liste est au format « string ».
La méthode ‘to_numeric()’ propose le paramètre « errors='coerce' » qui permet d’assigner une valeur non valide « nan » lorsqu’un élément est au format texte :
Il sera possible de remplacer ultérieurement les éléments voulus par la valeur de son choix.
Il est possible également de paramétrer la méthode comme ci-après : « errors=’ignore’ » pour malgré tout conserver les valeurs impossibles à mettre en numérique :
On constate alors que l’on conserve la valeur qui est au format texte.
Vous trouverez parmi nos articles d'autres utilisations de la bibliothèque Panda.
N’hésitez pas à vous rapprocher de nous si vous avez besoin de plus de conseils. Vous retrouverez sur ce lien l’accès à nos formations.
Comments