Python
 Computer >> コンピューター >  >> プログラミング >> Python

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'といったオプションも用意されており、状況に応じて柔軟に使い分けることができます。

  1. Python Pandas入門:interpolate()メソッドでNaN値を補間して埋める方法

    はじめにPandasでは、interpolate()メソッドを使うことで、DataFrame内の欠損値(NaN)を補間によって効率的に埋めることができます。このメソッドは、前後の値をもとに線形補間を行い、データの流れを保ちながら自然な形で欠損値を推定します。ここでは、Microsoft Excelで開いた以下のようなCSVファイルを例に説明します。このデータには一部NaN値が含まれています。1. CSVファイルからデータを読み込むまず、read_csv()関数を使って、CSVファイルのデータをPandas DataFrameに読み込みます。dataFrame = pd.read_csv(C:\

  2. Pythonでscikit-learnを使って画像のピクセル値を取得・表示する方法

    データの前処理とは、さまざまなリソース(または単一のリソース)から収集したすべてのデータを、共通のフォーマットや統一されたデータセットへとまとめる作業を指します。現実世界のデータは決して完璧ではないため、欠損セルやエラー、外れ値、列間の不整合などが含まれている可能性があります。画像の場合も同様に、正しく配置されていなかったり、ぼやけていたり、ファイルサイズが非常に大きかったりすることがあります。前処理の目的は、こうした不整合やエラーを取り除くことにあります。画像のピクセル値を取得するには、組み込み関数「flatten」を使用します。画像を読み込んだ後、ピクセル値はデータフレームの形式で保存され