Jak wyodrębnić liczbę z ciągu w pandach
Aby wyodrębnić liczby z ciągu znaków w pandach, możesz użyć następującej podstawowej składni:
df[' my_column ']. str . extract (' (\d+) ')
Ta konkretna składnia wyodrębni liczby z każdego ciągu do kolumny o nazwie my_column w ramce danych pandy.
Uwaga : podczas używania wyrażenia regularnego \d oznacza „dowolną cyfrę”, a + oznacza „jedną lub więcej”.
Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.
Przykład: wyodrębnij liczbę z ciągu w Pandach
Załóżmy, że mamy następującą ramkę DataFrame pand, która zawiera informacje o sprzedaży różnych produktów:
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
Załóżmy, że chcemy wyodrębnić numer każdego ciągu z kolumny produktu .
W tym celu możemy użyć następującej składni:
#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
Wynikiem jest ramka DataFrame zawierająca tylko liczby w każdym wierszu kolumny Produkt .
Na przykład:
- Formuła wyodrębnia liczbę 33 z ciągu A33 w pierwszym wierszu.
- Formuła wyodrębnia liczbę 34 z ciągu B34 w pierwszym wierszu.
- Formuła wyodrębnia liczbę 22 z ciągu A22 w pierwszym wierszu.
I tak dalej.
Jeśli chcesz, możesz także zapisać te wartości liczbowe w nowej kolumnie 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
Nowa kolumna o nazwie numery_produktów zawiera tylko liczby dla każdego ciągu w kolumnie produktu .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:
Pandy: Jak sortować DataFrame na podstawie kolumny ciągów
Pandy: Jak usunąć określone znaki z ciągów znaków
Pandy: wyszukaj ciąg znaków we wszystkich kolumnach DataFrame