A função DataFrame.isin() do Python Pandas foi criada para verificar, de forma rápida e eficaz, se de­ter­mi­na­dos valores existem em um DataFrame. Ela é es­pe­ci­al­mente útil para checar múltiplos valores ao mesmo tempo.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Qual é a sintaxe da função Pandas isin()?

A função Pandas isin() aceita a inclusão de um parâmetro e tem a seguinte sintaxe:

DataFrame.isin(values)
python

O parâmetro values pode ser uma lista em Python, um di­ci­o­ná­rio em Python ou outro DataFrame. Ele abrange os valores que você deseja buscar dentro do DataFrame.

Dica

Se estiver tra­ba­lhando com Series em vez de Da­ta­Fra­mes no Pandas, use a função equi­va­lente: Series.isin().

Usar a função Pandas isin() com Da­ta­Fra­mes

Você pode usar a função Pandas isin() para di­fe­ren­tes fi­na­li­da­des. Além de verificar a exis­tên­cia de valores, ela também pode ser utilizada para filtrar Da­ta­Fra­mes.

Verificar valores em uma coluna

Primeiro, vamos criar um DataFrame contendo in­for­ma­ções sobre di­fe­ren­tes pessoas e as cidades em que elas moram.

import pandas as pd
# Criar DataFrame
data = {
    'Nome': ['Aldo' , 'Bruna', 'Camila', 'Diogo'],
    'Cidade': ['Recife', 'Campinas', 'Manaus', 'Natal']
}
df = pd.DataFrame(data)
print(df)
python

O DataFrame ficará assim:

Nome      Cidade
0    Aldo        Recife
1    Bruna    Campinas
2   Camila     Manaus
3    Diogo      Natal

Em seguida, vamos usar a função Pandas isin() para verificar se as cidades na coluna “Cidade” estão presentes em uma lista separada. Após criarmos essa lista de re­fe­rên­cia, exe­cu­ta­re­mos a função na coluna “Cidade” do DataFrame:

# Lista de cidades para comparação
cidades_para_comparar = ['Manaus', 'Natal', 'Porto Alegre']
# Usar o método isin()
result = df['Cidade'].isin(cidades_para_comparar)
print(result)
python

O resultado trará uma série de valores booleanos que indicarão se cada uma das cidades na coluna “Cidade” estava presente na lista cidades_para_comparar:

0    False
1    False
2     True
3     True
Nome: Cidade, dtype: bool

Filtrar DataFrame com a função Pandas isin()

Também é possível usar a função Pandas isin() para filtrar um DataFrame, mantendo apenas as linhas com mesmas cidades presentes na lista cidades_para_comparar.

# Filtrar um DataFrame usando isin()
filtered_df = df[df['Cidade'].isin(cidades_para_comparar)]
print(filtered_df)
python

O resultado será um DataFrame contendo apenas as linhas com as cidades que também estavam presentes na lista cidades_para_comparar:

Nome    Cidade
2  Camila   Manaus
3   Diogo     Natal

Verificar múltiplas colunas em um DataFrame

Para de­sem­pe­nhar operações com filtros mais complexos, você pode usar a função Pandas isin() com di­ci­o­ná­rios. No exemplo a seguir, mos­tra­re­mos como usar um di­ci­o­ná­rio para verificar múltiplas colunas de um DataFrame si­mul­ta­ne­a­mente. Primeiro, adi­ci­o­na­re­mos uma coluna ao DataFrame original e, depois, apli­ca­re­mos a função isin():

# Criar um DataFrame
data = {
    'Nome': ['Aldo', 'Bruna', 'Camila', 'Diogo'],
    'Cidade': ['Recife', 'Campinas', 'Manaus', 'Natal'],
    'Idade': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Dicionário com os valores de comparação para o DataFrame
valores_para_comparar = {
    'Cidade': ['Manaus', 'Natal'],
    'Idade': [30, 40]
}
# Usar isin() com um dicionário
result = df.isin(valores_para_comparar)
print(result)
python

Nesse caso, a chamada da função isin() retornará um DataFrame booleano, no qual cada célula indica se o valor contido está presente na lista cor­res­pon­dente à sua coluna no di­ci­o­ná­rio.:

Nome  Cidade  Idade
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
Ir para o menu principal