Maison >développement back-end >Tutoriel Python >Comment convertir des chaînes numériques séparées par des virgules en flottants dans un DataFrame Pandas ?

Comment convertir des chaînes numériques séparées par des virgules en flottants dans un DataFrame Pandas ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 09:03:02426parcourir

How to Convert Comma-Separated Number Strings to Floats in a Pandas DataFrame?

Conversion de chaînes numériques séparées par des virgules en flottants dans un DataFrame Pandas

Lorsque vous travaillez avec des DataFrames Pandas, il est courant de rencontrer des colonnes numériques stockées sous forme de chaînes avec des milliers de séparateurs. Pour effectuer des calculs ou des comparaisons sur ces valeurs, il est nécessaire de les convertir en nombres à virgule flottante. Cependant, le processus de conversion de ces valeurs peut rencontrer des erreurs.

Erreur n°1 : Utilisation de apply directement sur le DataFrame

Lors de l'application de la fonction apply à l'ensemble du DataFrame, une TypeError est levée. Cela se produit car apply attend un seul argument, mais un DataFrame contient plusieurs colonnes.

Erreur n° 2 : Utilisation d'apply sur un sous-ensemble du DataFrame

Application d'apply à un un sous-ensemble du DataFrame, tel que df[0:1], déclenche une ValueError. Cette erreur indique que le premier élément du sous-ensemble ne peut pas être converti en flottant.

Solution

Pour réussir à convertir des chaînes de nombres séparées par des virgules en flottants dans un Pandas DataFrame , deux méthodes peuvent être utilisées :

Méthode 1 : Utiliser l'argument des milliers pendant la lecture

Si le DataFrame est lu à partir d'un fichier CSV, l'argument des milliers dans le La fonction read_csv peut être utilisée pour spécifier le séparateur des milliers. Cette méthode est généralement plus efficace que d'effectuer la conversion en tant qu'étape distincte.

Méthode 2 : Définition des paramètres régionaux et utilisation d'applymap

Pour convertir les valeurs directement dans le DataFrame , les étapes suivantes sont nécessaires :

  1. Importez les modules locales et atof.
  2. Définissez les paramètres régionaux sur la valeur appropriée, telle que locale.setlocale(locale.LC_NUMERIC, '') .
  3. Appliquez la fonction applymap au DataFrame, en utilisant la fonction atof comme méthode de conversion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn