パンダ: nan を none に置き換える方法


次の基本構文を使用して、pandas DataFrame でNaN値をNoneに置き換えることができます。

 df = df. replace (np. nan , None )

この関数は、 NaNの代わりにNoneを使用して欠損値を表すデータベースに pandas DataFrame をエクスポートする必要がある場合に特に便利です。

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas で NaN を None に置き換えます

次のパンダ データフレームがあるとします。

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' A ': [5, 6, 8, np.nan, 4, 15, 13],
                   ' B ': [np.nan, 12, np.nan, 10, 23, 6, 4],
                   ' C ': [2, 7, 6, 3, 2, 4, np.nan],
                   ' D ': [5, np.nan, 6, 15, 1, np.nan, 4]})

#view DataFrame
print (df)

      ABCD
0 5.0 NaN 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 NaN 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0

DataFrame には複数のNaN値があることに注意してください。

NaN値をNoneに置き換えるには、次の構文を使用できます。

 #replace all NaN values with None
df = df. replace (np. nan , None )

#view updated DataFrame
print (df)

      ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 None
2 8.0 None 6.0 6.0
3 None 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 None
6 13.0 4.0 None 4.0

DataFrame の各列の各NaN がNoneに置き換えられていることに注意してください。

特定の列でNaN値のみをNoneに置き換える場合は、次の構文を使用できることに注意してください。

 #replace NaN values with None in column 'B' only
df[' B '] = df[' B ']. replace (np. nan , None )

#view updated DataFrame
print (df)

      ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 None 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0

列 “B” のみでNaN値がNoneに変更されていることに注意してください。

関連: Pandas で NaN 値をゼロに置き換える方法

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandasで特定の値を置き換える方法
Pandas DataFrame を列値でフィルタリングする方法
Pandasの複数の列にNA値を入力する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です