Como contar as ocorrências de NaN em uma coluna em Pandas Dataframe
-
Método
isna()
para contarNaN
em uma ou múltiplas colunas -
Subtrair a contagem de ocorrências
não-NaN
do comprimento total para a contagem de ocorrênciasNaN
-
df.isull().sum()
Método para contarNaN
Ocorrências -
Contar
NaN
Ocorrências nos Pandas inteirosDataFrame

Introduziremos os métodos para contar as ocorrências NaN
em uma coluna no Pandas DataFrame
. Temos muitas soluções, incluindo o método isna()
para uma ou várias colunas, subtraindo o comprimento total da contagem de ocorrências NaN
, utilizando o método value_counts
e utilizando o método df.isull().sum()
.
Também vamos introduzir o método para calcular o número total de ocorrências de NaN
em todo o Pandas DataFrame
.
Método isna()
para contar NaN
em uma ou múltiplas colunas
Podemos utilizar o método insna()
(versões pandas > 0.21.0) e depois somar para contar as ocorrências NaN
. Para uma coluna, faremos o seguinte:
import pandas as pd
s = pd.Series([
1,2,3, np.nan, np.nan])
s.isna().sum()
# or s.isnull().sum() for older pandas versions
Resultado:
2
Para várias colunas, também funciona:
import pandas as pd
df = pd.DataFrame({
'a':[1,2,np.nan],
'b':[np.nan,1,np.nan]})
df.isna().sum()
Resultado:
a 1
b 2
dtype: int64
Subtrair a contagem de ocorrências não-NaN
do comprimento total para a contagem de ocorrências NaN
Podemos obter o número de ocorrências NaN
em cada coluna subtraindo a contagem de ocorrências non-Nan
do comprimento do DataFrame
:
import pandas as pd
df = pd.DataFrame([
(1,2,None),
(None,4,None),
(5,None,7),
(5,None,None)],
columns=['a','b','d'],
index = ['A', 'B','C','D'])
print(df)
print(len(df)-df.count())
Resultado:
a b d
A 1.0 2.0 NaN
B NaN 4.0 NaN
C 5.0 NaN 7.0
D 5.0 NaN NaN
a 1
b 2
d 3
dtype: int64
df.isull().sum()
Método para contar NaN
Ocorrências
Podemos obter o número de ocorrências NaN
em cada coluna utilizando o método df.isull().sum()
. Se passarmos o axis=0
dentro do método sum
, ele nos dará o número de ocorrências NaN
em cada coluna. Se precisarmos de NaN
ocorrências em cada linha, defina axis=1
.
Códigos de exemplo:
import pandas as pd
df = pd.DataFrame(
[(1,2,None),
(None,4,None),
(5,None,7),
(5,None,None)],
columns=['a','b','d'],
index = ['A', 'B','C','D'])
print('NaN occurrences in Columns:')
print(df.isnull().sum(axis = 0))
print('NaN occurrences in Rows:')
print(df.isnull().sum(axis = 1))
Resultado:
NaN occurrences in Columns:
a 1
b 2
d 3
dtype: int64
NaN occurrences in Rows:
A 1
B 2
C 1
D 2
dtype: int64
Contar NaN
Ocorrências nos Pandas inteiros DataFrame
Para obter o número total de todas as ocorrências NaN
no DataFrame
, nós encadeamos dois métodos .sum()
juntos:
import pandas as pd
df = pd.DataFrame(
[(1,2,None),
(None,4,None),
(5,None,7),
(5,None,None)],
columns=['a','b','d'],
index = ['A', 'B','C','D'])
print('NaN occurrences in DataFrame:')
print(df.isnull().sum().sum())
Resultado:
NaN occurrences in DataFrame:
6
Artigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum