データ解析のプロセスで重要なのは、NAN値を取り除くことです。
この記事では、1つの列または複数の列のNAN値を空の文字列に置き換える方法について説明します。
さっそく始めてみましょう。
こちらもお読みください。
まず、DataFrameを作成します。
生徒が科目ごとに取った点数のデータでDataFrameを作りましょう。
カラムは “名前”、”点数”、”年齢” です。
import pandas as pd
import numpy as np
scoresheet = {
'Name' :[ 'Linda' , 'Tommy' , 'Justin' , 'Gary' ,np.nan],
'Score' :[ '60' ,np.nan, '50' , '70' , '80' ],
'Age' :[ '18' , '19' ,np.nan, '20' , '22' ],
}
df = pd.DataFrame(scoresheet)
print (df)
|
結果は以下の通りです。
Name Score Age
0 Linda 60 18
1 Tommy NaN 19
2 Justin 50 NaN
3 Gary 70 20
4 NaN 80 22
|
この記事もチェック:Pandas DataFrameの単一カラムの名前を変更する
NAN を空の文字列に置き換える4つの方法
それでは、Pandasでデータフレーム全体のNaN値を空文字列に置き換える方法を学びましょう。
この記事もチェック:Pandasのデータフレームに行を追加する5つの簡単な方法
1. df.replace(np.nan,’ ‘, regex=true)メソッドを使用します。
このメソッドは、DataFrame内のすべてのNAN値を空文字列に置き換えるために使用されます。
df2 = df.replace(np.nan, '', regex = True )
print (df2)
|
結果は以下の通りです。
Name Score Age
0 Linda 60 18
1 Tommy 19
2 Justin 50 3 Gary 70 20
4 80 22
|
2. df [[‘column1′,’column2’]] = df [[‘column1′,’column2’]] . fillna(“) メソッドを使用します。
このメソッドでは、指定された列のNAN値のみを置き換えます。
df2 = df[[ 'Age' , 'Score' ]] = df[[ 'Age' , 'Score' ]].fillna('')
print (df2)
|
結果は以下の通りです。
Age Score 0 18 60
1 19 2 50
3 20 70
4 22 80
|
3. fillna() メソッドの使用法
fillna()メソッドを使用すると、DataFrame内のNAN値をすべて置き換えることができます。
df2 = df.fillna("")
print (df2)
|
結果は以下の通りです。
Name Score Age
0 Linda 60 18
1 Tommy 19
2 Justin 50 3 Gary 70 20
4 80 22
|
4. 特定の列に対してfillna()メソッドを使用する
このメソッドでは、DataFrameの特定のカラムに対してfillna()メソッドを使用します。
df2 = df.Age.fillna('')
print (df2)
|
結果は以下の通りです。
0 18
1 19
2 3 20
4 22
Name: Age, dtype: object
|
まとめ
まとめとして、DataFrameのNAN値を空文字列で埋めるための様々な異なる方法について見てきました。
データ分析において非常に重要なステップであり、NAN 値を取り除く方法を知っておくことが必要です。