logo

Замініть значення NaN нулями в Pandas DataFrame

NaN означає Not A Number і є одним із поширених способів представлення відсутнього значення в даних. Це спеціальне значення з плаваючою комою, яке не може бути перетворено в будь-який інший тип, окрім float. Значення NaN є однією з головних проблем у

Методи заміни значень NaN нулями в Pandas DataFrame

в Python, є два методи, за допомогою яких ми можемо замінити значення NaN нулями у фреймі даних Pandas. Вони такі:



Замініть значення NaN нулями за допомогою Pandas fillna()

Функція fillna() використовується для заповнення значень NA/NaN за допомогою вказаного методу. Давайте розглянемо кілька прикладів для кращого розуміння.

Замініть значення NaN нулями для стовпця за допомогою Pandas fillna()

Синтаксис заміни значень NaN нулями в одному стовпці у фреймі даних Pandas за допомогою функції fillna() такий:



 Syntax: df['DataFrame Column'] = df['DataFrame Column'].fillna(0)>

Python3






# 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>

git pull origin master
>

>

Вихід:

Замініть значення NaN нулем для одного стовпця за допомогою Panda fillna()

fillna(), щоб замінити NaN для одного стовпця

Замініть значення NaN нулями для всього стовпця за допомогою Pandas fillna()

Синтаксис заміни значень NaN нулями всього фрейму даних Pandas за допомогою функції fillna() такий:

 Syntax: df.fillna(0)>

Python3




нумерований алфавіт
# 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>

>

>

Вихід:

Замініть значення NaN на нуль для всього кадру даних за допомогою Panda fillna()

функція fillna() для заміни NaN для всього кадру даних

Замініть значення NaN нулями за допомогою NumPy replace()

The dataframe.replace() Функцію в Pandas можна визначити як простий метод, що використовується для заміни a рядок , регулярний вираз, список , словник тощо в DataFrame.

Замініть значення NaN нулями для стовпця за допомогою NumPy replace()

Синтаксис заміни значень NaN нулями в одному стовпці у фреймі даних Pandas за допомогою функції replace() такий:

 Syntax: df['DataFrame Column'] = df['DataFrame Column'].replace(np.nan, 0)>

Python3




алфавіт у вигляді цифр

# 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>

>

>

Вихід:

Замініть значення NaN на нуль для одного стовпця за допомогою NumPy replace()

replace(), щоб замінити NaN для одного стовпця

Замініть значення NaN нулями для всього Dataframe за допомогою NumPy replace()

Синтаксис для заміни значень NaN нулями для всього фрейму даних Pandas функція replace(). полягає в наступному:

 Syntax: df.replace(np.nan, 0)>

Python3




# 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>

>

>

рядок довжини

Вихід:

Замініть значення NaN на нуль для всього кадру даних за допомогою NumPy replace()

replace() для заміни NaN для всього кадру даних