# Pandas isin(): Como fazer buscas em DataFrames

A função `DataFrame.isin()` do [Python Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/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.

## 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:

```python
DataFrame.isin(values)
```

O parâmetro `values` pode ser uma **[lista em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/listas-em-python/ "Lista em Python"), um [dicionário em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-dictionary-dicionarios-python/ "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.

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

O DataFrame ficará assim:

```none
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:

```python
# 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)
```

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`:

```none
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`.

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

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

```none
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()`:

```python
# 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)
```

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.:

```none
Nome  Cidade  Idade
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
```


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-isin/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-isin/) for AI/LLM consumption.