dropna メソッドで欠損値のある行を削除
このステップでは、null 値を含む行を削除して欠損データを処理する方法を学びます。Pandas では、欠損データは NaN (Not a Number) で表されます。NaN 値を処理するための最も簡単な戦略の 1 つは、それらを含む行または列を削除することです。
dropna() メソッドを使用すると、これを簡単に行うことができます。デフォルトでは、少なくとも 1 つの NaN 値を含むすべての行を削除します。
まず、初期スクリプトを実行して、開始時の DataFrame を確認しましょう。セットアップ スクリプトは、~/project ディレクトリに main.py という名前のファイルを既に作成しています。
WebIDE でターミナルを開き、次のコマンドを実行します。
python3 main.py
age 列と city 列に NaN 値が含まれている元の DataFrame が表示されるはずです。
Original DataFrame:
name age city SALARY_IN_USD
0 Alice 25.0 New York 50000
1 Bob 30.0 Los Angeles 60000
2 Charlie 35.0 New York 70000
3 David 40.0 Chicago 80000
4 Alice 25.0 New York 50000
5 Eva NaN Boston 90000
6 Frank 45.0 NaN 100000
Original DataFrame Info:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7 entries, 0 to 6
Data columns (total 4 columns):
## Column Non-Null Count Dtype
--- ------ -------------- -----
0 name 7 non-null object
1 age 6 non-null float64
2 city 6 non-null object
3 SALARY_IN_USD 7 non-null object
dtypes: float64(1), object(3)
memory usage: 352.0+ bytes
次に、dropna() を使用してその動作を確認しましょう。左側のパネルのファイルエクスプローラーから main.py ファイルを開きます。ファイルに次のコードを追加します。このコードは、NaN 行が削除された新しい DataFrame df_dropped を作成し、それを表示します。元の df はまだ変更していないため、次のステップで他のメソッドを探索できます。
## Add this to the end of main.py
print("\nDataFrame after dropping rows with any missing values:")
df_dropped = df.dropna()
print(df_dropped)
ファイルを保存 (Ctrl+S または Cmd+S) し、ターミナルから再度実行します。
python3 main.py
出力には、NaN 値を含む行 (Eva と Frank の行) が削除された後の DataFrame を示す新しいセクションが含まれるようになります。
## ... (previous output) ...
DataFrame after dropping rows with any missing values:
name age city SALARY_IN_USD
0 Alice 25.0 New York 50000
1 Bob 30.0 Los Angeles 60000
2 Charlie 35.0 New York 70000
3 David 40.0 Chicago 80000
4 Alice 25.0 New York 50000