Como extrair um número de uma string no pandas
Você pode usar a seguinte sintaxe básica para extrair números de uma string no pandas:
df[' my_column ']. str . extract (' (\d+) ')
Esta sintaxe específica extrairá os números de cada string em uma coluna chamada my_column em um DataFrame do pandas.
Nota : Ao usar uma expressão regular, \d representa “qualquer dígito” e + significa “um ou mais”.
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: extraia o número de uma string no Pandas
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vendas de vários produtos:
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
Suponha que queiramos extrair o número de cada string da coluna do produto .
Podemos usar a seguinte sintaxe para fazer isso:
#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
O resultado é um DataFrame que contém apenas os números em cada linha da coluna Produto .
Por exemplo:
- A fórmula extrai 33 da string A33 na primeira linha.
- A fórmula extrai 34 da string B34 na primeira linha.
- A fórmula extrai 22 da string A22 na primeira linha.
E assim por diante.
Se desejar, você também pode armazenar esses valores numéricos em uma nova coluna do 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
A nova coluna chamada product_numbers contém apenas os números de cada string na coluna do produto .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:
Pandas: Como classificar o DataFrame com base na coluna de string
Pandas: como remover caracteres específicos de strings
Pandas: procure uma string em todas as colunas do DataFrame