A função DataFrame.isin() do Python Pandas foi criada para verificar, de forma rápida e eficaz, se determinados valores existem em um DataFrame. Ela é especialmente útil para checar múltiplos valores ao mesmo tempo.

Hospedagem web com consultor pessoal

Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!

  • Domínio
  • SSL Wildcard
  • Suporte 24 horas

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 dicionário em Python ou outro DataFrame. Ele abrange os valores que você deseja buscar dentro do DataFrame.

Dica

Se estiver trabalhando com Series em vez de DataFrames no Pandas, use a função equivalente: Series.isin().

Usar a função Pandas isin() com DataFrames

Você pode usar a função Pandas isin() para diferentes finalidades. Além de verificar a existência de valores, ela também pode ser utilizada para filtrar DataFrames.

Verificar valores em uma coluna

Primeiro, vamos criar um DataFrame contendo informações sobre diferentes 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 referência, executaremos 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 desempenhar operações com filtros mais complexos, você pode usar a função Pandas isin() com dicionários. No exemplo a seguir, mostraremos como usar um dicionário para verificar múltiplas colunas de um DataFrame simultaneamente. Primeiro, adicionaremos uma coluna ao DataFrame original e, depois, aplicaremos 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 correspondente à sua coluna no dicionário.:

Nome  Cidade  Idade
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
Este artigo foi útil?
Ir para o menu principal