# Obter valores nulos com Pandas isna()

Pode usar a função `isna()` da Biblioteca Python Pandas para **identificar os valores nulos (`NaN` ou `None`) dentro de um DataFrame**. Isso pode ser muito útil para determinar se as análises planeadas podem ser realizadas ou se os dados precisam de uma limpeza prévia.

## Sintaxe do Pandas `isna()`

O Pandas DataFrame `isna()` **não aceita parâmetros**, portanto a sua sintaxe é muito simples e é apresentada da seguinte forma:

```python
DataFrame.isna()
```

## Aplicação da função `isna()` do Pandas

A função `isna()` do Pandas é aplicada a um DataFrame para gerar um **novo DataFrame com valores booleanos**. Se um valor estiver ausente no DataFrame original ou for `NaN` ou `None`, o valor `True` é armazenado na posição correspondente do resultado. Caso contrário, `isna()` retorna o valor `False` na posição correspondente.

Nota Se, além de identificar se há valores `NaN` ou `None`, você deseja eliminá-los, pode usar a [função `dropna()` do Pandas](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/metodo-dropna-para-dataframes-do-pandas-em-python/). Se o que lhe interessa é substituir esses valores de forma sistemática, pode usar a [função `fillna()`](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/funcao-fillna-para-dataframes-do-pandas-em-python/).

### Identificação de valores em falta num DataFrame

No exemplo seguinte, aparece um DataFrame com informações sobre várias pessoas, no qual faltam alguns dados ou têm o valor `None`:

```python
import pandas as pd
# Crear un DataFrame de ejemplo
data = {
    'Nombre': ['Alicia', 'Bob', None, 'David'],
    'Edad': [25, None, 35, 40],
    'Ciudad': ['Salamanca', 'León', 'Sevilla', None]
}
df = pd.DataFrame(data)
print(df)
```

O DataFrame resultante teria a seguinte aparência:

```none
Nombre   Edad        Ciudad
0   Alicia   25.0     Salamanca
1    Bob      NaN          León
2   None     35.0       Sevilla
3   David    40.0          None
```

Para identificar exatamente quais valores estão faltando, pode-se usar `isna()` no DataFrame:

```python
# Aplicación de Pandas isna()
missing_values = df.isna()
print(missing_values)
```

A chamada à função gera um novo DataFrame, onde cada valor é substituído por `True` se o valor original estiver ausente ou por `False` se o valor estiver presente. O resultado seria o seguinte:

```none
Nombre   Edad  Ciudad
0    False  False   False
1    False   True   False
2     True  False   False
3    False  False    True
```

### Contar os valores em falta por coluna

Para poder decidir como lidar com os dados em falta, pode ser útil saber quantos valores estão em falta em cada coluna. Para isso, pode usar `isna()` em combinação com outra função Python, `sum()`.

```python
# Contar los valores faltantes por columna
missing_count = df.isna().sum()
print(missing_count)
```

O resultado mostra quantos valores estão em falta em cada coluna:

```none
Nombre     1
Edad       1
Ciudad     1
dtype: int64
```


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/pandas-dataframe-isna-em-python/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/pandas-dataframe-isna-em-python/) for AI/LLM consumption.