Pandas: como remover caracteres específicos de strings


Você pode usar os seguintes métodos para remover caracteres específicos de strings em uma coluna em um DataFrame do pandas:

Método 1: remover caracteres específicos de strings

 df[' my_column '] = df[' my_column ']. str . replace (' this_string ', '')

Método 2: remover todas as letras das strings

 df[' my_column '] = df[' my_column ']. str . replace (' \D ', '', regex= True )

Método 3: remover todos os números das strings

 df[' my_column '] = df[' my_column ']. str . replace (' \d+ ', '', regex= True )

Os exemplos a seguir mostram como usar cada método na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs2', 'Nets44', 'Kings33', 'Cavs90', 'Heat576'],
                   ' points ': [12, 15, 22, 29, 24]})

#view DataFrame
print (df)

      team points
0 Mavs2 12
1 Nets44 15
2 Kings33 22
3 Cavs90 29
4 Heat576 24

Exemplo 1: Remover caracteres específicos de strings

Podemos usar a seguinte sintaxe para remover “avs” de cada string na coluna team :

 #remove 'avs' from strings in team column
df[' team '] = df[' team ']. str . replace (' avs ', '')

#view updated DataFrame
print (df)

      team points
0 M2 12
1 Nets44 15
2 Kings33 22
3 C90 29
4 Heat576 24

Observe que “avs” foi removido das linhas que contêm “Mavs” e “Cavs” na coluna de equipe .

Exemplo 2: Remover todas as letras das strings

Podemos usar a seguinte sintaxe para remover todas as letras de cada string na coluna da equipe :

 #remove letters from strings in team column
df[' team '] = df[' team ']. str . replace (' \D ', '', regex= True )

#view updated DataFrame
print (df)

  team points
0 2 12
1 44 15
2 33 22
3 90 29
4,576 24

Observe que todas as letras foram removidas de cada string na coluna da equipe .

Restam apenas valores numéricos.

Exemplo 3: Remova todos os números das strings

Podemos usar a seguinte sintaxe para remover todos os números de cada string na coluna da equipe :

 #remove numbers from strings in team column
df[' team '] = df[' team ']. str . replace (' \d+ ', '', regex= True )

#view updated DataFrame
print (df)

    team points
0 Mavs 12
1 Nets 15
2 Kings 22
3 Cavs 29
4 Heat 24

Observe que todos os números foram removidos de cada string na coluna da equipe .

Restam apenas as letras.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como substituir valores NaN por zeros no Pandas
Como substituir strings vazias por NaN no Pandas
Como substituir valores na coluna com base na condição no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *