Pandas fyll nan med 0

Pandas fyll nan med 0

Datavitenskap innebærer typisk manglende data. Enten kan hele raden kastes eller en verdi kan legges til rad-kolonne-kombinasjonen. Å slippe raden/kolonnen ville være absurd fordi den eliminerer en viss beregning for hver rad. Nan, som står for "ikke et tall", er en av de typiske måtene å vise en verdi som mangler i et sett med data. For å få de tiltenkte resultatene er det ganske viktig å håndtere NAN. La oss finne ut hvordan du endrer NAN -verdiene på rad eller kolonne i en Pandas dataaframe til 0.

Metode 1: Bruke Fillna ()

Na/NAN -verdiene er fylt med den medfølgende tilnærmingen ved bruk av "Fillna ()" -funksjonen. Det kan brukes ved å vurdere følgende syntaks:

Hvis du vil fylle NAN -verdiene for en enkelt kolonne, er syntaksen som følger:

Pandas.DataFrame_obj ['Column'].Fillna (0)


Hvis du vil fylle NAN -verdiene i hele DataFrame, er syntaksen som følger:

Pandas.DataFrame_obj.Fillna (0)


Eksempel 1: Enkelt kolonne

La oss opprette et dataaframe som heter "Dokumenter" med to kolonner som inkluderer noen NAN -verdier. Vi lager dem ved hjelp av Numpy. La oss nå fylle NAN -verdiene med 0 i begge kolonnene, separat.

Importer pandaer
Importer numpy
# Tenk på DataFrame
Dokumenter = Pandas.DataFrame ('Color': ["Red", "Blue", Numpy.Nan, Numpy.Nan, Numpy.nan],
'størrelse': [numpy.Nan, 45,60,78, numpy.nan])
trykk (dokumenter, "\ n")
# Fyll Nan med 0 i størrelseskolonnen.
skriv ut (dokumenter ['størrelse'].Fillna (0), "\ n")
# Fyll Nan med 0 i fargekolonnen.
trykk (dokumenter ['Color'].Fillna (0))


Produksjon:

Fargestørrelse
0 Rød Nan
1 blå 45.0
2 NAN 60.0
3 NAN 78.0
4 Nan Nan
0 0.0
1 45.0
2 60.0
3 78.0
4 0.0
Navn: Størrelse, dtype: float64
0 rød
1 blå
2 0
3 0
4 0
Navn: Farge, dtype: objekt


Forklaring:

Først fyller vi NAN -verdiene med 0 i "størrelse" -kolonnen. Deretter fyller vi NAN -verdiene med 0 i "farge" -kolonnen.

Eksempel 2: Flere kolonner

La oss fylle NAN -verdiene med 0 i hele DataFrame.

Importer pandaer
Importer numpy
# Tenk på DataFrame
Dokumenter = Pandas.DataFrame ('Color': ["Red", "Blue", Numpy.Nan, Numpy.Nan, Numpy.nan],
'størrelse': [numpy.Nan, 45,60,78, numpy.nan])
# Fyll Nan med 0 i hele DataFrame
trykk (dokumenter.Fillna (0))


Produksjon:

Fargestørrelse
0 Rød 0.0
1 blå 45.0
2 0 60.0
3 0 78.0
4 0 0.0


Forklaring:

Først fyller vi NAN -verdiene med 0 i hele DataFrame. Nå er det ingen NAN -verdier i "Dokumentene" DataFrame.

Metode 2: Bruke erstatning ()

For å erstatte en enkelt kolonne med NAN -verdier, er den medfølgende syntaksen som følger:

Vi må passere NAN -verdiene som må erstattes med 0 som den første parameteren og 0 som en andre parameter som erstatter NAN -verdiene:

Pandas.DataFrame_obj ['Column'].Erstatt (numpy.Nan, 0)


Mens vi for å erstatte hele DataFrames NAN -verdier, bruker vi følgende syntaks:

Pandas.DataFrame_obj.Erstatt (numpy.Nan, 0)


Eksempel 1: Enkelt kolonne

La oss opprette en dataaframe som heter "Bestillinger" med tre kolonner som inkluderer noen NAN -verdier. Vi lager dem ved hjelp av Numpy. La oss nå erstatte NAN -verdiene med 0 i "pris" og "produkt" -kolonner, separat.

Importer pandaer
Importer numpy
# Tenk på DataFrame
Bestillinger = Pandas.DataFrame ('Produkt': ["One", "Two", Numpy.Nan, Numpy.Nan, Numpy.nan],
'Pris': [Numpy.Nan, 45,60,78, numpy.nan],
'id': [1,2,3,4,5])
trykk (bestillinger, "\ n")
# Bytt ut Nan med 0 i priskolonnen.
trykk (bestillinger ['pris'].Erstatt (numpy.Nan, 0), "\ n")
# Bytt ut Nan med 0 i produktkolonnen.
Print (Bestillinger ['Produkt'].Erstatt (numpy.Nan, 0))


Produksjon:

Produktpris -ID
0 en nan 1
1 to 45.0 2
2 NAN 60.0 3
3 NAN 78.0 4
4 Nan Nan 5
0 0.0
1 45.0
2 60.0
3 78.0
4 0.0
Navn: Pris, dtype: float64
0 en
1 to
2 0
3 0
4 0
Navn: Produkt, dype: objekt


Forklaring:

Det er tre verdier i kolonnen "Pris" og to verdier i "produkt" -kolonnen. Først erstatter vi NAN -verdiene med 0 i "pris" -kolonnen. Deretter erstatter vi NAN -verdiene med 0 i "produkt" -kolonnen.

Eksempel 2: Flere kolonner

La oss opprette en dataaframe som heter "Bestillinger" med tre kolonner som inkluderer noen NAN -verdier. Vi lager dem ved hjelp av Numpy. La oss nå erstatte NAN -verdiene med 0 i "pris" og "produkt" -kolonner, separat.

Importer pandaer
Importer numpy
# Tenk på DataFrame
Dokumenter = Pandas.DataFrame ('Color': ["Red", "Blue", Numpy.Nan, Numpy.Nan, Numpy.nan],
'størrelse': [numpy.Nan, 45,60,78, numpy.nan])
# Bytt ut Nan med 0 i hele DataFrame
trykk (dokumenter.Erstatt (numpy.Nan, 0), "\ n")


Produksjon:

Fargestørrelse
0 Rød 0.0
1 blå 45.0
2 0 60.0
3 0 78.0
4 0 0.0


Det er fem NAN -verdier i "Ordrene" DataFrame. Etter det erstatter vi NAN -verdiene med 0.

Konklusjon

Å håndtere de manglende oppføringene i en dataframe er et grunnleggende og nødvendig krav for å redusere kompleksiteten og håndtere dataene trassig i dataanalyseprosessen. Pandas gir oss noen få alternativer for å takle dette problemet. Vi hentet inn to nyttige strategier i denne guiden.