Maison  >  Article  >  développement back-end  >  Comment extraire des nombres à partir de chaînes dans les DataFrames Pandas ?

Comment extraire des nombres à partir de chaînes dans les DataFrames Pandas ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 10:24:02418parcourir

How to Extract Numbers from Strings in Pandas DataFrames?

Extraction de nombres à partir de chaînes DataFrame avec Pandas

Dans l'analyse des données, il est souvent nécessaire d'extraire des modèles ou des types de données spécifiques à partir de chaînes. Dans le cas des Pandas DataFrames, les colonnes de chaînes peuvent contenir des types de données mixtes, notamment des caractères et des nombres. Cet article aborde le défi de l'extraction de nombres à partir de telles chaînes à l'aide de la puissante bibliothèque Pandas.

Considérez l'exemple de DataFrame suivant appelé « df » avec une colonne nommée « A » qui contient un mélange de chaînes et de valeurs numériques :

<code class="python">import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })</code>

Notre objectif est d'isoler les valeurs numériques de chaque cellule, ce qui donne une colonne propre qui ne contient que des entiers :

    A
0   1
1   NaN
2   10
3   100
4   0

Utilisation d'expressions régulières et de groupes de capture

Une approche efficace pour extraire des nombres à partir de chaînes consiste à utiliser des expressions régulières (regex) en combinaison avec des groupes de capture. Regex nous permet de spécifier des modèles qui correspondent à certains caractères ou séquences dans une chaîne. Les groupes de capture nous permettent de capturer et d'extraire la partie correspondante de la chaîne.

Dans ce cas, nous pouvons utiliser le modèle d'expression régulière suivant :

(\d+)

Ce modèle représente un groupe de capture qui correspond un ou plusieurs chiffres (d) d'affilée.

L'application de ce modèle à notre DataFrame à l'aide de la méthode 'str.extract' :

<code class="python">df.A.str.extract('(\d+)')</code>

produit le résultat souhaité :

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object

Le groupe de capture a réussi à extraire les parties numériques des chaînes, en ignorant les caractères. Il est important de noter que cette méthode est spécifique aux nombres entiers et ne fonctionnerait pas pour les valeurs à virgule flottante.

En conclusion, l'utilisation d'expressions régulières avec des groupes de capture fournit un moyen concis et efficace d'extraire des nombres à partir de colonnes de chaînes. dans les Pandas DataFrames. En intégrant cette technique, les analystes de données peuvent isoler efficacement les données numériques pour une analyse et une manipulation plus approfondies.

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