Pandas : extraire des nombres à partir de chaînes
Lorsque vous travaillez avec des blocs de données dans Pandas, il est souvent nécessaire d'extraire des informations numériques à partir de cellules qui contiennent des éléments non -caractères numériques. Cela peut être difficile, mais Pandas propose plusieurs méthodes pour vous aider à y parvenir.
Utiliser str.extract() pour l'extraction de nombres
Une méthode efficace pour extraire des nombres de les chaînes sont str.extract(). Cette méthode vous permet de spécifier un modèle d'expression régulière qui définit les données numériques que vous souhaitez capturer.
Considérez le bloc de données suivant :
<code class="python">import pandas as pd import numpy as np df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'], }) print(df)</code>
Sortie :
A 0 1a 1 NaN 2 10a 3 100b 4 0b
Pour extraire les nombres de chaque cellule, vous pouvez utiliser l'expression régulière suivante :
<code class="python">df.A.str.extract('(\d+)')</code>
Le modèle regex (d ) capture toute séquence d'un ou plusieurs chiffres. Les parenthèses autour du motif créent un groupe de capture, qui est utilisé pour renvoyer la partie correspondante de la chaîne.
Sortie :
0 1 1 NaN 2 10 3 100 4 0 Name: A, dtype: object
Comme vous pouvez le voir, les nombres souhaités ont été avec succès extraits de chaque cellule, même celles contenant des caractères non numériques. Notez que cette méthode ne fonctionnera que pour les nombres entiers et non pour les nombres à virgule flottante.
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!