Как извлечь число из строки в pandas
Вы можете использовать следующий базовый синтаксис для извлечения чисел из строки в pandas:
df[' my_column ']. str . extract (' (\d+) ')
Этот конкретный синтаксис будет извлекать числа из каждой строки в столбец с именем my_column в DataFrame pandas.
Примечание . При использовании регулярного выражения \d представляет собой «любую цифру», а + означает «одну или несколько».
В следующем примере показано, как использовать эту функцию на практике.
Пример: извлечь число из строки в Pandas
Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о продажах различных продуктов:
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
Предположим, мы хотим извлечь номер каждой строки из столбца продукта .
Для этого мы можем использовать следующий синтаксис:
#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
Результатом является DataFrame, который содержит только числа в каждой строке столбца Product .
Например:
- Формула извлекает 33 из строки A33 в первой строке.
- Формула извлекает 34 из строки B34 в первой строке.
- Формула извлекает 22 из строки A22 в первой строке.
И так далее.
Если хотите, вы также можете сохранить эти числовые значения в новом столбце 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
Новый столбец с именем Product_numbers содержит только числа для каждой строки в столбце продукта .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Pandas: как сортировать DataFrame на основе строкового столбца
Pandas: как удалить определенные символы из строк
Pandas: поиск строки во всех столбцах DataFrame