logo

Pandas DataFrame で NaN 値をゼロに置き換える

NaN は Not A Number の略で、データ内の欠損値を表す一般的な方法の 1 つです。これは特殊な浮動小数点値であり、float 以外の型に変換できません。 NaN 値は、次の主要な問題の 1 つです。

Pandas DataFrame で NaN 値をゼロに置き換えるメソッド

で Python では、Pandas データフレームで NaN 値をゼロに置き換えることができる 2 つの方法があります。それらは次のとおりです。



Pandas fillna() を使用して NaN 値をゼロに置き換えます

fillna() 関数は、指定されたメソッドを使用して NA/NaN 値を埋めるために使用されます。より深く理解するために、いくつかの例を見てみましょう。

Pandas fillna() を使用して列の NaN 値をゼロに置き換えます

fillna() 関数を使用して Pandas データフレームの単一列の NaN 値をゼロに置き換える構文は次のとおりです。



 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>

Pythonは小数点以下2桁まで出力します
>

>

出力:

Panda fillna() を使用して、単一列の NaN 値をゼロに置き換えます。

fillna() は単一列の NaN を置き換えます

Pandas fillna() を使用して、列全体の NaN 値をゼロに置き換えます。

fillna() 関数を使用して NaN 値を Pandas データフレーム全体のゼロに置き換える構文は次のとおりです。

 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>

>

Excelで最初の文字を削除する

>

出力:

Panda fillna() を使用して、データフレーム全体の NaN 値をゼロに置き換えます。

データフレーム全体の NaN を置き換える fillna() 関数

NumPy replace() を使用して NaN 値をゼロに置換する

データフレーム.replace() Pandas の関数は、 、正規表現、 リスト辞書 、DataFrame など。

NumPy replace() を使用して列の NaN 値をゼロに置き換えます

replace() 関数を使用して NaN 値を Pandas データフレームの単一列のゼロに置き換える構文は次のとおりです。

 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>

>

>

出力:

NumPy replace() を使用して単一列の NaN 値をゼロに置き換えます

replace() は単一列の NaN を置き換えます

NumPy replace() を使用して、データフレーム全体の NaN 値をゼロに置き換えます

次を使用して 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>

>

>

クロムアドレスバー

出力:

NumPy replace() を使用して、データフレーム全体の NaN 値をゼロに置き換えます

データフレーム全体の NaN を置き換える replace() 関数