Comment extraire un numéro d’une chaîne dans Pandas
Vous pouvez utiliser la syntaxe de base suivante pour extraire des nombres d’une chaîne dans pandas :
df['my_column'].str.extract('(\d+)')
Cette syntaxe particulière extraira les nombres de chaque chaîne dans une colonne appelée my_column dans un DataFrame pandas.
Remarque : Lorsque vous utilisez une expression régulière, \d représente « n’importe quel chiffre » et + signifie « un ou plusieurs ».
L’exemple suivant montre comment utiliser cette fonction dans la pratique.
Exemple : extraire le numéro d’une chaîne dans Pandas
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les ventes de divers produits :
import pandas as pd #create DataFrame df = pd.DataFrame({'product': ['A33', 'B34', 'A22', 'A50', 'C200', 'D7', 'A9', 'A13'], 'sales': [18, 22, 19, 14, 14, 11, 20, 28]}) #view DataFrame print(df) product sales 0 A33 18 1 B34 22 2 A22 19 3 A50 14 4 C200 14 5 D7 11 6 A9 20 7 A13 28
Supposons que nous souhaitions extraire le numéro de chaque chaîne de la colonne produit .
Nous pouvons utiliser la syntaxe suivante pour ce faire :
#extract numbers from strings in 'product' column
df['product'].str.extract('(\d+)')
0
0 33
1 34
2 22
3 50
4 200
5 7
6 9
7 13
Le résultat est un DataFrame qui contient uniquement les nombres de chaque ligne de la colonne produit .
Par exemple:
- La formule extrait 33 de la chaîne A33 de la première ligne.
- La formule extrait 34 de la chaîne B34 de la première ligne.
- La formule extrait 22 de la chaîne A22 de la première ligne.
Et ainsi de suite.
Si vous le souhaitez, vous pouvez également stocker ces valeurs numériques dans une nouvelle colonne du DataFrame :
#extract numbers from strings in 'product' column and store them in new column
df['product_numbers'] = df['product'].str.extract('(\d+)')
#view updated DataFrame
print(df)
product sales product_numbers
0 A33 18 33
1 B34 22 34
2 A22 19 22
3 A50 14 50
4 C200 14 200
5 D7 11 7
6 A9 20 9
7 A13 28 13
La nouvelle colonne appelée product_numbers contient uniquement les numéros de chaque chaîne de la colonne produit .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : Comment trier le DataFrame en fonction de la colonne de chaîne
Pandas : Comment supprimer des caractères spécifiques des chaînes
Pandas : rechercher une chaîne dans toutes les colonnes de DataFrame