Come estrarre un numero da una stringa in pandas
Puoi utilizzare la seguente sintassi di base per estrarre numeri da una stringa in panda:
df[' my_column ']. str . extract (' (\d+) ')
Questa particolare sintassi estrarrà i numeri da ciascuna stringa in una colonna chiamata my_column in un DataFrame panda.
Nota : quando si utilizza un’espressione regolare, \d rappresenta “qualsiasi cifra” e + significa “uno o più”.
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: estrai il numero da una stringa in Pandas
Supponiamo di avere il seguente DataFrame panda che contiene informazioni sulle vendite di vari prodotti:
import pandas as pd #createDataFrame 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
Supponiamo di voler estrarre il numero di ciascuna stringa dalla colonna prodotto .
Possiamo usare la seguente sintassi per fare questo:
#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
Il risultato è un DataFrame che contiene solo i numeri in ogni riga della colonna Product .
Per esempio:
- La formula estrae 33 dalla stringa A33 nella prima riga.
- La formula estrae 34 dalla stringa B34 nella prima riga.
- La formula estrae 22 dalla stringa A22 nella prima riga.
E così via.
Se vuoi puoi anche memorizzare questi valori numerici in una nuova colonna del 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 nuova colonna denominata product_numbers contiene solo i numeri per ogni stringa nella colonna product .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Panda: come ordinare DataFrame in base alla colonna di stringhe
Panda: come rimuovere caratteri specifici dalle stringhe
Panda: cerca una stringa in tutte le colonne di DataFrame