Pandas: como deletar linhas contendo uma string específica


Você pode usar a seguinte sintaxe para remover linhas contendo uma determinada string em um DataFrame do pandas:

 df[df[" col "]. str . contains (" this string ") == False ]

Este tutorial explica vários exemplos de uso prático desta sintaxe com o seguinte DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'],
                   ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'],
                   ' points ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

        team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6
5 C East 5

Exemplo 1: Remover linhas contendo uma string específica

O código a seguir mostra como remover todas as linhas do DataFrame que contêm “A” na coluna da equipe:

 df[df[" team "]. str . contains (" A ")== False ]

        team conference points
3 B West 6
4 B West 6
5 C East 5

Exemplo 2: Remover linhas que contêm uma string em uma lista

O código a seguir mostra como remover todas as linhas do DataFrame que contêm “A” ou “B” na coluna da equipe:

 df[df[" team "]. str . contains (" A|B ")== False ]

	team conference points
5 C East 5

Exemplo 3: Remover linhas contendo uma string parcial

Nos exemplos anteriores, excluímos linhas com base nas linhas que correspondiam exatamente a uma ou mais strings.

Entretanto, se quisermos remover linhas contendo uma string parcial, podemos usar a seguinte sintaxe:

 #identify partial string to look for
discard = [" Wes "]

#drop rows that contain the partial string "Wes" in the conference column
df[~df. conference . str . contains (' | ' .join (discard))]

team conference points
0 A East 11
1 A East 8
2 A East 10
5 C East 5

Você pode encontrar mais tutoriais sobre panda nesta página .

Add a Comment

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