Panda per controllare il valore della cella è nan

Panda per controllare il valore della cella è nan
La documentazione principale dei panda sta dicendo che i valori null mancano valori. Possiamo indicare i valori mancanti o nulli come nan nei panda come la maggior parte degli sviluppatori. Le parole chiave NAN e nessuna sono entrambe utilizzate dagli sviluppatori per mostrare i valori mancanti nel frame dati. La cosa migliore nei panda è che tratta sia Nan che nessuno in modo simile. Per controllare il valore mancante di una cella, Panda.NotNull tornerà falso in entrambi i casi di NAN e nessuno se la cellula ha NAN o nessuno.

Quindi, in questo articolo, esploreremo diversi metodi per verificare se un determinato valore della cella è nullo o meno (NAN o nessuno).

I diversi metodi di cui discuteremo sono:

  1. è zero
  2. isnan
  3. isna
  4. non nullo

Discutiamo in dettaglio ogni metodo.

Metodo 1: usando la funzione isnull

In questo metodo, useremo un metodo molto semplice chiamato isNull () per scoprire se la particolare cella ha un valore NAN.

# Python Isnull.Py
Importa panda come PD
Importa Numpy come NP
data = '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 (dati)
Stampa (DF)
nan_in_df = df.isNull (df.Iloc [5, 0])
stampa (nan_in_df)

Produzione: 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
VERO

Riga da 3 a 4: Importiamo i panda della biblioteca e Numpy.

Riga 6: Creiamo un dizionario con tasti X e Y e i loro valori con un po 'di NP.nan.

Riga da 8 a 10: convertiamo il dizionario in dati e quindi stampiamo quel frame dati che possiamo vedere nell'output sopra.

Riga da 12 a 13: Chiamiamo il metodo DataFrame è ISNULL e controlliamo la cella particolare [5, 0] Il valore del frame dati è nullo o no. In questo caso, non stiamo verificando l'intero frame dati e il valore di dati a cella singola. Quindi dà l'uscita vera, che è mostrato nell'output sopra. Il primo valore 5 [5, 0] che rappresenta la posizione dell'indice e l'altro valore, 0, rappresenta il nome dell'indice della colonna.

Metodo 2: usando il metodo isNan ()

Nell'esempio sopra, abbiamo controllato il valore NAN utilizzando il metodo ISNULL di dati. Ora useremo un altro metodo chiamato Isnan. Questo metodo appartiene al numpy e non al frame dati. Il programma seguente è per ciò che controlla solo la cella particolare.

# Possiamo anche controllare il valore della cella NAN in DataFrame
data = '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 (dati)
Stampa (DF)
value = df.a [5, 'x'] # nan
isNan = np.isnan (valore)
print ("===============")
print ("è valore in df [5, 'x'] nan:", isnan)

Produzione:

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
================
È valore su df [5, 'x'] nan: true

Linea 2: Creiamo un dizionario con tasti X e Y e i loro valori con un po 'di NP.nan.

Riga 4 e 5: convertiamo il dizionario in dati e quindi stampiamo quel frame dati che possiamo vedere nell'output sopra.

Riga 6: abbiamo filtrato il valore di cella particolare usando l'indice e il nome della colonna [5, 'x'] e assegnato quel valore al valore variabile. Il primo valore 5 che rappresenta la posizione dell'indice e 'x' rappresenta il nome della colonna.

Riga 7: stiamo controllando se il valore è nan o no.

Riga 9: finalmente stampiamo il nostro output che mostra che il valore ha NAN è vero.

Metodo 3: valore cell nan in una serie che utilizza isnan

Abbiamo controllato nell'esempio precedente il valore NAN in un telaio di dati di cella. Possiamo anche controllare all'interno della serie Pandas se un valore cellulare è nan o no. Quindi vediamo come possiamo implementarlo.

# Possiamo anche controllare il valore della cella NAN nella serie DataFrame
serie_df = pd.Serie ([2, 3, NP.nan, 7, 25])
Stampa (serie_DF)
Value = serie_df [2] # nan
isNan = np.isnan (valore)
print ("===============")
print ("è valore su df [2] nan:", isnan)

Produzione:

0 2.0
1 3.0
2 nan
3 7.0
4 25.0
dType: float64
================
È valore su df [2] nan: true

Riga 3: Abbiamo creato la serie Pandas.

Riga 6: assegniamo il valore della cella che vogliamo controllare a un'altra variabile.

Riga 7: stiamo controllando il valore in quella variabile è nan o no.

Metodo 4: usando panda.isna

Un altro metodo che possiamo usare è verificare se un determinato valore della cella di dati di dati è nullo o meno utilizzando i panda.Metodo isna.

data = '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 (dati)
Stampa (DF)
Stampa ("Controllo del valore NAN nella cella [5, 0]")
pd.Isna (df.ILoc [5,0])

Produzione:

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
Verifica del valore NAN nella cella [5, 0]
VERO

Linea 1: Creiamo un dizionario con tasti X e Y e i loro valori con un po 'di NP.nan.

Riga da 3 a 5: convertiamo il dizionario in dati e quindi stampiamo quel frame dati che possiamo vedere nell'output sopra.

Riga 8: Controlliamo se il valore della cella [5, 0] è nan o no. Il primo valore 5, che rappresenta la posizione dell'indice, e 0 rappresenta il nome della colonna. Finalmente stampiamo il nostro output che mostra che il valore ha NAN è vero.

Metodo 5: usando panda.metodo notnull

Un altro metodo attraverso il quale possiamo verificare il valore cellulare particolare è nan o non utilizza il metodo notnull. In questo metodo, se il valore della cella è nan o mancante, restituirà un falso booleano, come mostrato nel programma seguente.

data = '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 (dati)
Stampa (DF)
Stampa ("Controllo del valore NAN nella cella [5, 0]")
pd.notnull (df.ILoc [5,0])

Produzione:

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
Verifica del valore NAN nella cella [5, 0]
Falso

Linea 1: Creiamo un dizionario con tasti X e Y e i loro valori con un po 'di NP.nan.

Riga da 3 a 5: convertiamo il dizionario in dati e quindi stampiamo quel frame dati che possiamo vedere nell'output sopra.

Riga 8: Stiamo verificando se la cella [5, 0] il valore non è nan. Il primo valore 5, che rappresenta la posizione dell'indice, e 0 rappresenta il nome della colonna. Finalmente stampiamo il nostro output che mostra che il valore ha nan e ritorna come falso perché stiamo controllando se la cella non è nullo, ma la cella è effettivamente null.

Conclusione

In questo blog, abbiamo visto metodi diversi per determinare un determinato valore della cella è NAN o nessuno perché a volte dobbiamo scoprire il valore della cella e non l'intero telaio di dati. Ecco perché questo blog è particolare per il focus sul valore cellulare. Abbiamo visto panda e numpy, entrambi i metodi per controllare i valori mancanti. Ci concentriamo sul concetto solo per mostrare semplici tutorial e non usare alcun ciclo di iterazione. Tutti i metodi di cui sopra di cui abbiamo discusso sono veloci in esecuzione anche se si desidera controllare l'intero telaio.

Il codice per questo blog è disponibile sul collegamento GitHub.