# Pesquisar em DataFrames com Pandas isin()

A função Pandas `DataFrame.isin()` da Biblioteca Python Pandas é utilizada para verificar de forma rápida e eficiente se determinados valores estão presentes num DataFrame. Esta função é especialmente útil quando se deseja verificar vários valores ao mesmo tempo.

## Sintaxe da função `isin()` do Pandas

O Pandas `isin()` aceita apenas um parâmetro, portanto a sintaxe básica da função é muito simples e é a seguinte:

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

O parâmetro `values` pode ser uma **lista Python, um dicionário ou até mesmo outro DataFrame** e contém os valores que se deseja procurar no DataFrame original.

Dica Se não estiver a trabalhar com DataFrames do Pandas, mas sim com Series, recomendamos usar a função equivalente chamada `Series.isin()`.

## Aplicação da função `isin()`

As possibilidades de aplicação do `isin()` são variadas: com esta função, você não só pode verificar a presença de valores, mas também filtrar o seu DataFrame.

### Verificação da presença de valores numa coluna

A seguir, será considerado um DataFrame com informações sobre diferentes pessoas e seus locais de residência.

```python
import pandas as pd
# Crear un DataFrame de ejemplo
data = {
    'Nombre': ['Alicia', 'Teo', 'Carlos', 'David'],
    'Ciudad': ['Las Palmas', 'Santiago', 'Cáceres', 'Córdoba']
}
df = pd.DataFrame(data)
print(df)
```

O DataFrame resultante tem a seguinte aparência:

```none
Nombre      Ciudad
0     Alicia    Las Palmas
1      Teo    Santiago
2     Carlos     Cáceres
3    David     Córdoba
```

Agora, o Pandas `isin()` será utilizado para verificar se determinadas cidades estão presentes na coluna correspondente. Para isso, é criada uma lista com as cidades que se deseja verificar e, em seguida, aplica-se a função na coluna do DataFrame chamada «Cidade»:

```python
# Ciudades que se desea verificar
cities_to_check = ['Cáceres', 'Córdoba', 'Madrid']
# Aplicación de la función isin()
result = df['Ciudad'].isin(cities_to_check)
print(result)
```

O resultado é uma série de valores booleanos que indicam se cada cidade está presente na lista:

```none
0    False
1    False
2     True
3     True
Name: Ciudad, dtype: bool
```

### Filtragem de um DataFrame com `isin()`

O Pandas `isin()` também pode ser usado para filtrar o DataFrame e manter apenas as linhas em que as cidades de `cities_to_check` estão presentes.

```python
# Filtrado del DataFrame basado en isin()
filtered_df = df[df['Ciudad'].isin(cities_to_check)]
print(filtered_df)
```

O resultado é um DataFrame que contém apenas as linhas com as cidades que também estão presentes na lista de comparação `cities_to_check`:

```none
Nombre    Ciudad
2     Carlos   Cáceres
3    David   Córdoba
```

### Verificar várias colunas

Para realizar operações de filtragem mais complexas, o Pandas `isin()` também pode ser usado com dicionários. No exemplo a seguir, é mostrado como trabalhar com um dicionário para verificar várias colunas de um DataFrame ao mesmo tempo. Para isso, é adicionada uma coluna ao DataFrame original e, em seguida, é usada a função `isin()`:

```python
# Crear un DataFrame de ejemplo
data = {
    'Nombre': ['Alicia', 'Teo', 'Carlos', 'David'],
    'Ciudad': ['Las Palmas', 'Santiago', 'Cáceres', 'Córdoba'],
    'Edad': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Diccionario con los valores que se desean verificar
values_to_check = {
    'Ciudad': ['Cáceres', 'Córdoba'],
    'Edad': [30, 40]
}
# Aplicar isin() con un diccionario
result = df.isin(values_to_check)
print(result)
```

A chamada para a função Pandas `isin()`, neste caso, retorna um DataFrame com valores booleanos que indicam se as condições nas respectivas colunas são satisfeitas:

```none
Nombre  Ciudad   Edad
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-pt/digitalguide/paginas-web/desenvolvimento-web/funcao-isin-para-dataframes-do-pandas-em-python/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/funcao-isin-para-dataframes-do-pandas-em-python/) for AI/LLM consumption.