PandasのDataframeでNaNを空文字列に置き換える方法

スポンサーリンク

データ解析のプロセスで重要なのは、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
スポンサーリンク

NAN を空の文字列に置き換える4つの方法

それでは、Pandasでデータフレーム全体のNaN値を空文字列に置き換える方法を学びましょう。

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 値を取り除く方法を知っておくことが必要です。

タイトルとURLをコピーしました