PythonのDataFrameから欠損値(NaN)を削除する方法|dropna()メソッドの使い方
pandasのDataFrameに含まれる欠損値(NaN)を削除するには、dropna()メソッドを使用します。このメソッドは、NaNが含まれる行を簡単に取り除くことができるため、データクレンジングの際に非常に便利です。
必要なライブラリのインポート
まず、必要なライブラリであるpandasをインポートします。
import pandas as pd
CSVファイルを読み込んでDataFrameを作成
次に、CSVファイルを読み込み、DataFrameを作成します。
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\CarRecords.csv")dropna()で欠損値を削除する
欠損値(NaN)を削除するには、dropna()メソッドを呼び出すだけです。デフォルト設定では、1つでもNaNを含む行が丸ごと削除されます。
dataFrame.dropna()
完全なサンプルコード
以下に、一連の処理をまとめた完全なコード例を示します。
import pandas as pd
# CSVファイルを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\CarRecords.csv")
print("NaN(欠損値)を含むDataFrame...\n", dataFrame)
# DataFrameの行数と列数を確認
print("\nDataFrameの行数・列数 = ", dataFrame.shape)
# 欠損値を削除する
print("\nNaNを削除した後のDataFrame...\n", dataFrame.dropna())実行結果
上記のコードを実行すると、以下のような出力が得られます。
NaN(欠損値)を含むDataFrame...
Car Place UnitsSold
0 Audi Bangalore 80.0
1 Porsche Mumbai NaN
2 RollsRoyce Pune 100.0
3 BMW Delhi NaN
4 Mercedes Hyderabad 80.0
5 Lamborghini Chandigarh 80.0
6 Audi Mumbai NaN
7 Mercedes Pune 120.0
8 Lamborghini Delhi 100.0
DataFrameの行数・列数 = (9, 3)
NaNを削除した後のDataFrame...
Car Place UnitsSold
0 Audi Bangalore 80.0
2 RollsRoyce Pune 100.0
4 Mercedes Hyderabad 80.0
5 Lamborghini Chandigarh 80.0
7 Mercedes Pune 120.0
8 Lamborghini Delhi 100.0ポイント解説
実行結果を見ると、元のDataFrameは9行でしたが、dropna()適用後は6行になっています。これは、「UnitsSold」列にNaNが含まれていた行(インデックス1、3、6)が削除されたためです。
なお、dropna()は元のDataFrameを変更せず、新しいDataFrameを返す点に注意してください。元のオブジェクト自体から欠損値を除去したい場合は、inplace=Trueオプションを使用するか、戻り値を変数に再代入してください。
また、行ではなく列ごと削除したい場合はaxis=1、すべての値がNaNの行だけを削除したい場合はhow='all'といったオプションも用意されており、状況に応じて柔軟に使い分けることができます。
-
Python Pandas入門:interpolate()メソッドでNaN値を補間して埋める方法
はじめにPandasでは、interpolate()メソッドを使うことで、DataFrame内の欠損値(NaN)を補間によって効率的に埋めることができます。このメソッドは、前後の値をもとに線形補間を行い、データの流れを保ちながら自然な形で欠損値を推定します。ここでは、Microsoft Excelで開いた以下のようなCSVファイルを例に説明します。このデータには一部NaN値が含まれています。1. CSVファイルからデータを読み込むまず、read_csv()関数を使って、CSVファイルのデータをPandas DataFrameに読み込みます。dataFrame = pd.read_csv(C:\
-
Pythonでscikit-learnを使って画像のピクセル値を取得・表示する方法
データの前処理とは、さまざまなリソース(または単一のリソース)から収集したすべてのデータを、共通のフォーマットや統一されたデータセットへとまとめる作業を指します。現実世界のデータは決して完璧ではないため、欠損セルやエラー、外れ値、列間の不整合などが含まれている可能性があります。画像の場合も同様に、正しく配置されていなかったり、ぼやけていたり、ファイルサイズが非常に大きかったりすることがあります。前処理の目的は、こうした不整合やエラーを取り除くことにあります。画像のピクセル値を取得するには、組み込み関数「flatten」を使用します。画像を読み込んだ後、ピクセル値はデータフレームの形式で保存され