Como selecionar linhas com valores nan em pandas (com exemplos)
Você pode usar os seguintes métodos para selecionar linhas com valores NaN em pandas:
Método 1: selecione linhas com valores NaN em qualquer coluna
df. loc [df. isnull (). any (axis= 1 )]
Método 2: selecione linhas com valores NaN em uma coluna específica
df. loc [df[' this_column ']. isnull ()]
Os exemplos a seguir mostram como usar cada método na prática com o seguinte DataFrame do pandas:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, np.NaN, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, np.NaN, 9, 9, np.NaN], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.NaN]}) #view DataFrame print (df)
Exemplo 1: Selecione linhas com valores NaN em qualquer coluna
Podemos usar a seguinte sintaxe para selecionar linhas com valores NaN em qualquer coluna do DataFrame:
#create new DataFrame that only contains rows with NaNs in any column df_nan_rows = df. loc [df. isnull (). any (axis= 1 )] #view results print (df_nan_rows) team points assists rebounds 1 B NaN 7.0 8.0 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
Observe que cada linha do DataFrame resultante contém um valor NaN em pelo menos uma coluna.
Exemplo 2: Selecione linhas com valores NaN em uma coluna específica
Podemos usar a seguinte sintaxe para selecionar linhas com valores NaN na coluna auxiliar do DataFrame:
#create new DataFrame that only contains rows with NaNs in assists column df_assists_nans = df. loc [df[' assists ']. isnull ()] #view results print (df_assists_nans) team points assists rebounds 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
Observe que cada linha do DataFrame resultante contém um valor NaN na coluna auxiliar .
Há uma linha com valor NaN na coluna de pontos , mas esta linha não está selecionada porque também não possui valor NaN na coluna de assistências .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Pandas: Como deletar linhas com valores NaN
Pandas: como substituir valores NaN por uma string
Pandas: como preencher valores NaN com média