Pandas for å sjekke celleverdien er nan

Pandas for å sjekke celleverdien er nan
Hoveddokumentasjonen av pandaene sier at nullverdier mangler verdier. Vi kan betegne de manglende eller nullverdiene som nan i pandaene som de fleste utviklere gjør. Nan og ingen nøkkelord brukes begge av utviklere for å vise de manglende verdiene i DataFrame. Det beste i pandaene er at den behandler både Nan og ingen på samme måte. For å sjekke den manglende verdien av en celle, pandaer.Notnull vil returnere falsk i begge tilfeller av NAN og ingen hvis cellen har Nan eller ingen.

Så i denne artikkelen vil vi utforske forskjellige metoder for å sjekke om en bestemt celleverdi er null eller ikke (nan eller ingen).

De forskjellige metodene vi skal diskutere er:

  1. ISNULL
  2. isnan
  3. isna
  4. ikke null

La oss diskutere hver metode i detalj.

Metode 1: Bruke ISNULL -funksjonen

I denne metoden vil vi bruke en veldig enkel metode som heter ISNull () for å finne ut om den aktuelle cellen har en NAN -verdi.

# Python IsNull.py
Importer pandaer som PD
Importer numpy som 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 (data)
trykk (DF)
nan_in_df = df.ISNULL (DF.iloc [5, 0])
trykk (nan_in_df)

Produksjon: 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
ekte

Linje 3 til 4: Vi importerer bibliotekets pandaer og numpy.

Linje 6: Vi oppretter en ordbok med X- og Y -nøkler og deres verdier med noen NP.Nan.

Linje 8 til 10: Vi konverterer ordboken til DataFrame og skriver deretter ut den dataaframet som vi kan se i utdataene ovenfor.

Linje 12 til 13: Vi kaller DataFrame -metoden er Null og sjekk en bestemt celle [5, 0] DataFrame -verdien er null eller ikke. I dette tilfellet sjekker vi ikke etter hele DataFrame og for encellet DataFrame-verdien. Så det gir utgangen sant, som vises i output ovenfor. Den første verdien 5 [5, 0] som representerer indeksposisjonen, og den andre verdien, 0, representerer kolonneindeksnavnet.

Metode 2: Bruke ISNAN () -metode

I eksemplet ovenfor sjekket vi NAN -verdien ved å bruke ISNULL -metoden til DataFrame. Nå skal vi bruke en annen metode som heter Isnan. Denne metoden tilhører Numpy og ikke DataFrame. Programmet nedenfor er for det som bare sjekker for den aktuelle cellen.

# Vi kan også sjekke cellen NAN -verdien i 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 (data)
trykk (DF)
verdi = df.på [5, 'x'] # nan
isNan = np.isnan (verdi)
print ("===============")
Print ("er verdi på DF [5, 'X'] Nan:", Isnan)

Produksjon:

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
===============
Er verdi på df [5, 'x'] nan: true

Linje 2: Vi oppretter en ordbok med X- og Y -nøkler og deres verdier med noen NP.Nan.

Linje 4 og 5: Vi konverterer ordboken til DataFrame og skriver deretter ut den dataaframet som vi kan se i utdataene ovenfor.

Linje 6: Vi filtrerte den spesielle celleverdien ved å bruke indeks- og kolonnens navn [5, 'x'] og tildelte den verdien til variabel verdi. Den første verdien 5 som representerer indeksposisjonen, og 'X' representerer kolonnenavnet.

Linje 7: Vi sjekker om verdien er nan eller ikke.

Linje 9: Vi skriver endelig ut utdataene våre som viser at verdien har Nan er sann.

Metode 3: Cell NAN -verdi i en serie som bruker ISNAN

Vi sjekket inn forrige eksempel NAN -verdien i en celle dataframe. Vi kan også sjekke inne i Pandas -serien om noen celleverdi er nan eller ikke. Så la oss se hvordan vi kan implementere det.

# Vi kan også sjekke Cell NAN -verdien i DataFrame -serien
serie_df = pd.Serie ([2, 3, np.Nan, 7, 25])
print (serie_df)
verdi = serie_df [2] # nan
isNan = np.isnan (verdi)
print ("===============")
Print ("er verdi på DF [2] Nan:", ISNAN)

Produksjon:

0 2.0
1. 3.0
2 Nan
3 7.0
4 25.0
dtype: float64
===============
Er verdi på DF [2] NAN: True

Linje 3: Vi opprettet Pandas -serien.

Linje 6: Vi tildeler celleverdien som vi vil sjekke til en annen variabel.

Linje 7: Vi sjekker enten verdien i den variabelen er Nan eller ikke.

Metode 4: Bruke pandaer.isna

En annen metode vi kan bruke er å sjekke om en bestemt DataFrame -celleverdi er null eller ikke ved bruk av pandaene.ISNA -metoden.

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 (data)
trykk (DF)
Print ("Kontroller NAN -verdien i cellen [5, 0]")
PD.ISNA (DF.iloc [5,0])

Produksjon:

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
Kontroller NAN -verdien i cellen [5, 0]
ekte

Linje 1: Vi oppretter en ordbok med X- og Y -nøkler og deres verdier med noen NP.Nan.

Linje 3 til 5: Vi konverterer ordboken til DataFrame og trykker deretter den dataaframet som vi kan se i output ovenfor.

Linje 8: Vi sjekker om cellen [5, 0] verdien er nan eller ikke. Den første verdien 5, som representerer indeksposisjonen, og 0 representerer kolonnenavnet. Vi skriver endelig ut utdataene våre som viser at verdien har Nan er sann.

Metode 5: Bruke pandaer.NOTNULL -metode

En annen metode som vi kan sjekke en av bestemt celleverdier er NAN eller ikke ved å bruke Notnull -metoden. I denne metoden, hvis celleverdien er nan eller mangler, vil den returnere en boolsk falsk, som vist i programmet nedenfor.

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 (data)
trykk (DF)
Print ("Kontroller NAN -verdien i cellen [5, 0]")
PD.Notnull (DF.iloc [5,0])

Produksjon:

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
Kontroller NAN -verdien i cellen [5, 0]
Falsk

Linje 1: Vi oppretter en ordbok med X- og Y -nøkler og deres verdier med noen NP.Nan.

Linje 3 til 5: Vi konverterer ordboken til DataFrame og trykker deretter den dataaframet som vi kan se i output ovenfor.

Linje 8: Vi sjekker om cellen [5, 0] verdien ikke er NAN. Den første verdien 5, som representerer indeksposisjonen, og 0 representerer kolonnenavnet. Vi skriver endelig ut utdataene våre som viser at verdien har NAN og returnerer som falsk fordi vi sjekker om cellen er Notnull, men cellen er faktisk null.

Konklusjon

I denne bloggen har vi sett forskjellige metoder for å bestemme en bestemt celleverdi er Nan eller ingen fordi vi noen ganger må finne ut celleverdien og ikke hele DataFrame. Derfor er denne bloggen spesielt for celleverdifokus. Vi har sett Pandas og Numpy, begge metodene for å sjekke manglende verdier. Vi fokuserer på konseptet bare for å vise enkle opplæringsprogrammer og ikke bruke noen iterasjonssløyfe. Alle de ovennevnte metodene som vi diskuterte er raske i utførelse selv om du vil sjekke hele DataFrame.

Koden for denne bloggen er tilgjengelig på GitHub -lenken.