Pandas: nan 値を文字列に置き換える方法


次のメソッドを使用して、pandas DataFrame 内の NaN 値を文字列に置き換えることができます。

方法 1: DataFrame 全体で NaN 値を文字列に置き換える

 df. fillna ('', inplace= True )

方法 2: 特定の列の NaN 値を文字列に置き換える

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. fillna ('')

方法 3: NaN 値を列内の文字列に置き換える

 df. col1 = df. col1 . fillna ('')

次の例は、次の pandas DataFrame で各メソッドを使用する方法を示しています。

 import pandas as pd
import numpy as np

#create DataFrame with some NaN values
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [np.nan, 11, 7, 7, 8, 6, 14, 15],
                   ' assists ': [5, np.nan, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, np.nan, 6, 5, 9, np.nan]})

#view DataFrame
df

team points assists rebounds
0 A NaN 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 NaN
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 NaN

方法 1: DataFrame 全体で NaN 値を文字列に置き換える

次のコードは、DataFrame 全体の各 NaN 値を空の文字列に置き換える方法を示しています。

 #replace NaN values in all columns with empty string
df. fillna ('', inplace= True )

#view updated DataFrame
df

	team points assists rebounds
0 A 5.0 11.0
1 A 11.0 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0	
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7B 15.0 4.0	

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

方法 2: 特定の列の NaN 値を文字列に置き換える

次のコードは、特定の列の NaN 値を特定の文字列に置き換える方法を示しています。

 #replace NaN values in 'points' and 'rebounds' columns with 'none'
df[[' points ', ' rebounds ']] = df[[' points ', ' rebounds ']]. fillna (' none ')

#view updated DataFrame
df

        team points assists rebounds
0 A none 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 none
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 none	

「points」列と「rebounds」列の NaN 値は文字列「none」に置き換えられていますが、「assists」列の NaN 値は変更されていないことに注意してください。

方法 3: NaN 値を列内の文字列に置き換える

次のコードは、列内の NaN 値を特定の文字列に置き換える方法を示しています。

 #replace NaN values in 'points' column with 'zero'
df. points = df. points . fillna (' zero ')

#view updated DataFrame
df

	team points assists rebounds
0 To zero 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 NaN
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 NaN	

「ポイント」列の NaN 値は文字列「ゼロ」に置き換えられましたが、「アシスト」列と「リバウンド」列の NaN 値は変更されていないことに注意してください。

追加リソース

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

Pandas: 条件に基づいて列の値を置換する方法
パンダ: NaN 値をゼロに置き換える方法
パンダ: DataFrame の欠損値を数える方法

コメントを追加する

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