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

Patricia Arquette
Libérer: 2024-10-24 10:24:02
original
428 Les gens l'ont consulté

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>
Copier après la connexion

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
Copier après la connexion

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+)
Copier après la connexion

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>
Copier après la connexion

produit le résultat souhaité :

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!