NaN significa Not A Number i és una de les maneres habituals de representar el valor que falta a les dades. És un valor de coma flotant especial i no es pot convertir a cap altre tipus que no sigui flotant. El valor de NaN és un dels principals problemes
Mètodes per substituir els valors de NaN per zeros a Pandas DataFrame
En Python, hi ha dos mètodes pels quals podem substituir els valors de NaN per zeros al marc de dades de Pandas. Són els següents:
Substituïu els valors de NaN per zeros utilitzant Pandas fillna()
La funció fillna() s'utilitza per omplir valors NA/NaN mitjançant el mètode especificat. Vegem uns quants exemples per a una millor comprensió.
Substituïu els valors de NaN per zeros per a una columna utilitzant Pandas fillna()
La sintaxi per substituir els valors de NaN per zeros d'una sola columna al marc de dades de Pandas mitjançant la funció fillna() és la següent:
Syntax: df['DataFrame Column'] = df['DataFrame Column'].fillna(0)>
Python 3
# importing libraries> import> pandas as pd> import> numpy as np> nums>=> {>'Set_of_Numbers'>: [>2>,>3>,>5>,>7>,>11>,>13>,> >np.nan,>19>,>23>, np.nan]}> # Create the dataframe> df>=> pd.DataFrame(nums, columns>=>[>'Set_of_Numbers'>])> # Apply the function> df[>'Set_of_Numbers'>]>=> df[>'Set_of_Numbers'>].fillna(>0>)> # print the DataFrame> df> |
una altra cosa java
>
>
Sortida:

fillna() per substituir NaN per una sola columna
Substituïu els valors de NaN per zeros per a una columna sencera utilitzant Pandas fillna()
La sintaxi per substituir els valors de NaN per zeros de tot el marc de dades de Pandas mitjançant la funció fillna() és la següent:
Syntax: df.fillna(0)>
Python 3
# importing libraries> import> pandas as pd> import> numpy as np> nums>=> {>'Number_set_1'>: [>0>,>1>,>1>,>2>,>3>,>5>, np.nan,> >13>,>21>, np.nan],> >'Number_set_2'>: [>3>,>7>, np.nan,>23>,>31>,>41>,> >np.nan,>59>,>67>, np.nan],> >'Number_set_3'>: [>2>,>3>,>5>, np.nan,>11>,>13>,>17>,> >19>,>23>, np.nan]}> # Create the dataframe> df>=> pd.DataFrame(nums)> # Apply the function> df>=> df.fillna(>0>)> # print the DataFrame> df> |
>
>
Sortida:
travessa d'arbres

Funció fillna() per substituir NaN per a tot el marc de dades
Substituïu els valors de NaN amb zeros mitjançant NumPy replace()
El dataframe.replace() La funció a Pandas es pot definir com un mètode senzill utilitzat per substituir a corda , expressió regular, llista , diccionari , etc. en un DataFrame.
Substituïu els valors de NaN amb zeros per a una columna mitjançant NumPy replace()
La sintaxi per substituir els valors de NaN per zeros d'una sola columna al marc de dades de Pandas mitjançant la funció substituir() és la següent:
Syntax: df['DataFrame Column'] = df['DataFrame Column'].replace(np.nan, 0)>
Python 3
comanda Linux make
# importing libraries> import> pandas as pd> import> numpy as np> nums>=> {>'Car Model Number'>: [>223>, np.nan,>237>,>195>, np.nan,> >575>,>110>,>313>, np.nan,>190>,>143>,> >np.nan],> >'Engine Number'>: [>4511>, np.nan,>7570>,>1565>,>1450>,>3786>,> >2995>,>5345>,>7777>,>2323>,>2785>,>1120>]}> # Create the dataframe> df>=> pd.DataFrame(nums, columns>=>[>'Car Model Number'>])> # Apply the function> df[>'Car Model Number'>]>=> df[>'Car Model Number'>].replace(np.nan,>0>)> # print the DataFrame> df> |
>
>
Sortida:

replace() per substituir NaN per una sola columna
Substituïu els valors de NaN amb zeros per a un marc de dades sencer mitjançant NumPy replace()
Sintaxi per substituir els valors de NaN per zeros de tot el marc de dades de Pandas utilitzant funció substituir(). és el següent:
Syntax: df.replace(np.nan, 0)>
Python 3
# importing libraries> import> pandas as pd> import> numpy as np> nums>=> {>'Student Name'>: [>'Shrek'>,>'Shivansh'>,>'Ishdeep'>,> >'Siddharth'>,>'Nakul'>,>'Prakhar'>,> >'Yash'>,>'Srikar'>,>'Kaustubh'>,> >'Aditya'>,>'Manav'>,>'Dubey'>],> >'Roll No.'>: [>18229>,>18232>, np.nan,>18247>,>18136>,> >np.nan,>18283>,>18310>,>18102>,>18012>,> >18121>,>18168>],> >'Subject ID'>: [>204>, np.nan,>201>,>105>, np.nan,>204>,> >101>,>101>, np.nan,>165>,>715>, np.nan],> >'Grade Point'>: [>9>, np.nan,>7>, np.nan,>8>,>7>,>9>,>10>,> >np.nan,>9>,>6>,>8>]}> # Create the dataframe> df>=> pd.DataFrame(nums)> # Apply the function> df>=> df.replace(np.nan,>0>)> # print the DataFrame> df> |
>
>
comanda d'execució de linux
Sortida:

substituir () per substituir NaN per a tot el marc de dades