Pandas para verificar o valor da célula é NAN

Pandas para verificar o valor da célula é NAN
A principal documentação dos pandas está dizendo que valores nulos estão ausentes de valores. Podemos denotar os valores ausentes ou nulos como nan nos pandas como a maioria dos desenvolvedores. As palavras -chave NAN e nenhuma são usadas pelos desenvolvedores para mostrar os valores ausentes no quadro de dados. A melhor coisa dos pandas é que ele trata tanto a nan quanto nenhuma da mesma forma. Para verificar o valor ausente de uma célula, pandas.NotNull retornará falso em ambos os casos de nan e nenhum se a célula tiver nan ou nenhum.

Portanto, neste artigo, exploraremos diferentes métodos para verificar se um determinado valor da célula é nulo ou não (NAN ou nenhum).

Os diferentes métodos que vamos discutir são:

  1. é nulo
  2. Isnan
  3. ISNA
  4. não nulo

Vamos discutir cada método em detalhes.

Método 1: Usando a função ISNULL

Neste método, usaremos um método muito fácil chamado isNull () para descobrir se a célula em particular tem um valor nan.

# python isnull.py
importar pandas como PD
importar numpy como np
dados = 'x': [1, 2, 3, 4, 5, np.nan, 6, 7, NP.nan, 8, 9, 10, NP.nan],
'y': [11, 12, NP.Nan, 13, 14, NP.nan, 15, 16, NP.Nan, NP.Nan, 17, NP.Nan, 19]
df = pd.DataFrame (dados)
Impressão (DF)
nan_in_df = df.isNull (df.ILOC [5, 0])
Print (nan_in_df)

Saída: python isnull.py

x y
0 1.0 11.0
1 2.0 12.0
2 3.0 nan
3 4.0 13.0
4 5.0 14.0
5 Nan Nan
6 6.0 15.0
7 7.0 16.0
8 Nan Nan
9 8.0 nan
10 9.0 17.0
11 10.0 nan
12 Nan ​​19.0
Verdadeiro

Linha 3 a 4: Nós importamos a biblioteca pandas e numpy.

Linha 6: Criamos um dicionário com as teclas X e Y e seus valores com algum NP.Nan.

Linha 8 a 10: Convertemos o dicionário para o DataFrame e depois imprimimos o quadro de dados que podemos ver na saída acima.

Linha 12 a 13: Chamamos o método DataFrame IsNull e verificamos a célula específica [5, 0] o valor do quadro de dados é nulo ou não. Nesse caso, não estamos verificando todo o quadro de dados e o valor de quadro de dados de célula única. Portanto, fornece a saída verdadeira, o que é mostrado na saída acima. O primeiro valor 5 [5, 0] que representa a posição do índice e o outro valor, 0, representa o nome do índice da coluna.

Método 2: Usando o método isnan ()

No exemplo acima, verificamos o valor da NAN usando o método ISNULL do DataFrame. Agora vamos usar outro método chamado isnan. Este método pertence ao Numpy e não ao DataFrame. O programa abaixo é para o que verifica apenas para a célula específica.

# Também podemos verificar o valor da nan celular no DataFrame
dados = 'x': [1, 2, 3, 4, 5, np.nan, 6, 7, NP.nan, 8, 9, 10, NP.nan],
'y': [11, 12, NP.Nan, 13, 14, NP.nan, 15, 16, NP.Nan, NP.Nan, 17, NP.Nan, 19]
df = pd.DataFrame (dados)
Impressão (DF)
valor = df.em [5, 'x'] # nan
isnan = np.isnan (valor)
print ("===============")
print ("é valor em df [5, 'x'] nan:", isnan)

Saída:

x y
0 1.0 11.0
1 2.0 12.0
2 3.0 nan
3 4.0 13.0
4 5.0 14.0
5 Nan Nan
6 6.0 15.0
7 7.0 16.0
8 Nan Nan
9 8.0 nan
10 9.0 17.0
11 10.0 nan
12 Nan ​​19.0
===============
É valor em df [5, 'x'] nan: true

Linha 2: Criamos um dicionário com as teclas X e Y e seus valores com algum NP.Nan.

Linha 4 e 5: Convertemos o dicionário para o DataFrame e depois imprimimos o quadro de dados que podemos ver na saída acima.

Linha 6: Filizamos o valor da célula específico usando o índice e o nome da coluna [5, 'x'] e atribuímos esse valor ao valor da variável. O primeiro valor 5 que representa a posição do índice e 'x' representa o nome da coluna.

Linha 7: estamos verificando se o valor é nan ou não.

Linha 9: Finalmente imprimimos nossa saída que mostra que o valor tem nan é verdadeiro.

Método 3: Valor da NAN da célula em uma série usando Isnan

Verificamos no exemplo anterior o valor da nan em um quadro de dados celulares. Também podemos verificar dentro da série pandas se algum valor da célula for nan ou não. Então, vamos ver como podemos implementar isso.

# Também podemos verificar o valor da NAN da célula na série DataFrame
série_df = pd.Série ([2, 3, NP.nan, 7, 25])
print (série_df)
value = série_df [2] # nan
isnan = np.isnan (valor)
print ("===============")
print ("é valor em df [2] nan:", isnan)

Saída:

0 2.0
1 3.0
2 nan
3 7.0
4 25.0
DTYPE: Float64
===============
É valor em df [2] nan: verdadeiro

Linha 3: Criamos a série Pandas.

Linha 6: Atribuímos o valor da célula que queremos verificar para outra variável.

Linha 7: Estamos verificando o valor nessa variável é nan ou não.

Método 4: Usando pandas.ISNA

Outro método que podemos usar é verificar se um determinado valor da célula de quadro de dados é nulo ou não usando os pandas.Método ISNA.

dados = 'x': [1,2,3,4,5, np.Nan, 6,7, NP.Nan, 8,9,10, NP.nan],
'y': [11,12, NP.Nan, 13,14, NP.Nan, 15,16, NP.Nan, NP.Nan, 17, NP.Nan, 19]
df = pd.DataFrame (dados)
Impressão (DF)
print ("Verificando o valor da nan na célula [5, 0]")
Pd.ISNA (df.ILOC [5,0])

Saída:

x y
0 1.0 11.0
1 2.0 12.0
2 3.0 nan
3 4.0 13.0
4 5.0 14.0
5 Nan Nan
6 6.0 15.0
7 7.0 16.0
8 Nan Nan
9 8.0 nan
10 9.0 17.0
11 10.0 nan
12 Nan ​​19.0
Verificando o valor da nan na célula [5, 0]
Verdadeiro

Linha 1: Criamos um dicionário com as teclas X e Y e seus valores com algum NP.Nan.

Linha 3 a 5: convertemos o dicionário para o quadro de dados e depois imprimimos o quadro de dados que podemos ver na saída acima.

Linha 8: Verificamos se o valor da célula [5, 0] é nan ou não. O primeiro valor 5, que representa a posição do índice e 0 representa o nome da coluna. Finalmente imprimimos nossa saída que mostra que o valor tem nan é verdadeiro.

Método 5: Usando pandas.Método NotNull

Outro método através do qual podemos verificar qualquer valor de célula em particular é NAN ou não usar o método NotNull. Neste método, se o valor da célula estiver nan ou falta, ele retornará um false booleano, como mostrado no programa abaixo.

dados = 'x': [1,2,3,4,5, np.Nan, 6,7, NP.Nan, 8,9,10, NP.nan],
'y': [11,12, NP.Nan, 13,14, NP.Nan, 15,16, NP.Nan, NP.Nan, 17, NP.Nan, 19]
df = pd.DataFrame (dados)
Impressão (DF)
print ("Verificando o valor da nan na célula [5, 0]")
Pd.NotNull (df.ILOC [5,0])

Saída:

x y
0 1.0 11.0
1 2.0 12.0
2 3.0 nan
3 4.0 13.0
4 5.0 14.0
5 Nan Nan
6 6.0 15.0
7 7.0 16.0
8 Nan Nan
9 8.0 nan
10 9.0 17.0
11 10.0 nan
12 Nan ​​19.0
Verificando o valor da nan na célula [5, 0]
Falso

Linha 1: Criamos um dicionário com as teclas X e Y e seus valores com algum NP.Nan.

Linha 3 a 5: convertemos o dicionário para o quadro de dados e depois imprimimos o quadro de dados que podemos ver na saída acima.

Linha 8: Estamos verificando se o valor da célula [5, 0] não é NAN. O primeiro valor 5, que representa a posição do índice e 0 representa o nome da coluna. Finalmente imprimimos nossa saída, que mostra que o valor tem nan e retorna como falso porque estamos verificando se a célula não é.

Conclusão

Neste blog, vimos métodos diferentes para determinar um valor específico da célula é NAN ou nenhum, porque às vezes precisamos descobrir o valor da célula e não todo o quadro de dados. É por isso que este blog é particular para o foco do valor da célula. Vimos pandas e numpy, ambos os métodos para verificar os valores ausentes. Nós nos concentramos no conceito apenas para mostrar tutoriais simples e não usarmos nenhum loop de iteração. Todos os métodos acima que discutimos são rápidos na execução, mesmo que você queira verificar todo o quadro de dados.

O código deste blog está disponível no link do GitHub.