Pandas: nan 値を別の列の値で埋める方法
次の構文を使用して、pandas DataFrame の 1 つの列の NaN 値を別の列の値に置き換えることができます。
df[' col1 '] = df[' col1 ']. fillna (df[' col2 '])
この特定の構文は、 col1内のすべての NaN 値を、 col2内の対応する値に置き換えます。
次の例は、この構文を実際に使用する方法を示しています。
例: 欠損値を別の列に置き換える
欠損値がいくつかある次の pandas DataFrame があると仮定します。
import numpy as np import pandas as pd #create DataFrame with some NaN values df = pd. DataFrame ({' team1 ': ['Mavs', np.nan, 'Nets', 'Hawks', np.nan, 'Jazz'], ' team2 ': ['Spurs', 'Lakers', 'Kings', 'Celtics', 'Heat', 'Magic']}) #view DataFrame df team1 team2 0 Mavs Spurs 1 NaN Lakers 2 Nets Kings 3 Hawks Celtics 4 NaN Heat 5 Jazz Magic
「team1」列に 2 つの NaN 値があることに注意してください。
fillna()関数を使用して、 team1列の NaN 値を、 team2列の対応する値で埋めることができます。
#fill NaNs in team1 column with corresponding values in team2 column df[' team1 '] = df[' team1 ']. fillna (df[' team2 ']) #view updated DataFrame df team1 team2 0 Mavs Spurs 1 Lakers Lakers 2 Nets Kings 3 Hawks Celtics 4 Heat Heat 5 Jazz Magic
「team1」列の 2 つの NaN 値が、 「team2」列の対応する値に置き換えられていることに注意してください。
注: fillna()関数の完全なオンライン ドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。