Pandas: filtrar por coluna não igual a valores específicos
Você pode usar os seguintes métodos para filtrar um DataFrame do pandas onde uma coluna não é igual a valores específicos:
Método 1: Filtrar onde a coluna não é igual a um valor específico
#filter rows where team column is not equal to 'Nets' df_filtered = df[df[' team '] != ' Nets ']
Método 2: Filtrar quando a coluna não for igual a vários valores específicos
#filter rows where team column is not equal to 'Nets', 'Mavs' or 'Kings' df_filtered = df[ ~ df[' team ']. isin ([' Nets ', ' Mavs ', ' Kings '])]
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 ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'], ' points ': [22, 28, 35, 34, 29, 28, 23]}) #view DataFrame print (df) team points 0 Mavs 22 1 Mavs 28 2 Nets 35 3 Nets 34 4 Heat 29 5 Heat 28 6 Kings 23
Exemplo 1: Filtro onde a coluna não é igual a um valor específico
Podemos usar a seguinte sintaxe para filtrar o DataFrame para conter apenas linhas onde a coluna da equipe não é igual a “Redes”:
#filter rows where team column is not equal to 'Nets' df_filtered = df[df[' team '] != ' Nets '] #view filtered DataFrame print (df_filtered) team points 0 Mavs 22 1 Mavs 28 4 Heat 29 5 Heat 28 6 Kings 23
Observe que todas as linhas onde o nome da equipe era “Nets” foram filtradas do DataFrame.
Nota : O símbolo ! = representa “diferente” em pandas.
Exemplo 2: Filtro onde a coluna não é igual a vários valores específicos
Podemos usar a seguinte sintaxe para filtrar o DataFrame para conter apenas linhas onde a coluna da equipe não é igual a “Nets”, “Mavs” ou “Kings”:
#filter rows where team column is not equal to 'Nets', 'Mavs' or 'Kings' df_filtered = df[ ~ df[' team ']. isin ([' Nets ', ' Mavs ', ' Kings '])] #view filtered DataFrame print (df_filtered) team points 4 Heat 29 5 Heat 28
Observe que todas as linhas onde o nome do time era “Nets”, “Mavs” ou “Kings” foram filtradas do DataFrame.
Nota : O símbolo ~ representa “não” em pandas.
Documentação : Você pode encontrar a documentação completa para a função isin() do pandas aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns do panda:
Pandas: como adicionar filtro à tabela dinâmica
Pandas: Como filtrar “Não contém”
Pandas: como filtrar linhas contendo uma string específica