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

【Python Pandas】条件に基づいてDataFrameの行を抽出する方法を解説

Pandasでは、条件を設定することでDataFrameから目的の行だけを簡単に抽出できます。条件の指定には、比較演算子(<、>、==など)や論理演算子(&、|など)を組み合わせて使用できます。

この記事では、「登録価格が1000未満」という条件でDataFrameの行を抽出する具体例を、コードと実行結果あわせて紹介します。

1. pandasライブラリのインポート

まず、必要なpandasライブラリをインポートします。

import pandas as pd

2. CSVファイルを読み込んでDataFrameを作成

read_csv()メソッドを使ってCSVファイルを読み込み、DataFrameを作成します。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")

3. 条件に一致する行を抽出する

登録価格(Reg_Price)が1000未満の行を抽出します。ここでは比較演算子「<」を使用します。条件式を角括弧 [] の中に記述すると、ブールインデックス参照により条件を満たす行のみが返されます。

dataFrame[dataFrame.Reg_Price < 1000]

完全なサンプルコード

以下が実際のコード全体です。

import pandas as pd

# CSVファイルを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")
print("DataFrame...\n", dataFrame)

# DataFrameの行数と列数を確認
print("\nNumber of rows and column in our DataFrame = ", dataFrame.shape)

# 登録価格が1000未満の行を抽出
resData = dataFrame[dataFrame.Reg_Price < 1000]

print("DataFrame...\n", resData)

実行結果

上記のコードを実行すると、次のような出力が得られます。

DataFrame...
         Car   Date_of_Purchase   Reg_Price
0        BMW        10/10/2020         1000
1      Lexus        10/12/2020          750
2       Audi        10/17/2020          750
3     Jaguar        10/16/2020         1500
4    Mustang        10/19/2020         1100
5 Lamborghini        10/22/2020         1000

Number of rows and column in our DataFrame = (6, 3)
DataFrame...
    Car   Date_of_Purchase   Reg_Price
1 Lexus        10/12/2020         750
2  Audi        10/17/2020         750

出力結果のポイント

元のDataFrameには6行のデータが含まれていますが、条件「Reg_Price < 1000」を適用した結果、該当するのはLexus(750)Audi(750)の2行のみです。このように、ブールインデックス参照を使えば、数値条件に合致する行だけをシンプルな記述で取り出せます。

また、複数条件を組み合わせたい場合は、&(AND)や |(OR)を使って以下のように記述できます。

# 複数条件の例:価格が800以上かつ1200以下の行を抽出
resData = dataFrame[(dataFrame.Reg_Price >= 800) & (dataFrame.Reg_Price <= 1200)]

条件による行の抽出はデータ分析の基本操作なので、ぜひマスターしておきましょう。

  1. Python Pandas入門 – データフレームから条件に合う行のサブセットを抽出する方法

    Pandasのデータフレームから行のサブセット(一部の行)を取得するには、条件式を使ってデータを絞り込みます。この手法は「ブールインデックス参照」と呼ばれ、データ分析で最もよく使われる操作のひとつです。 使用するCSVファイル ここでは、Microsoft Excelで開いた次のようなCSVファイル(SalesData.csv)を例にします。車種名(Car)、登録価格(Reg_Price)、販売台数(Units)の3つの列を持つデータです。 CSVファイルをデータフレームとして読み込む まず、read_csv()メソッドを使って、CSVファイルのデータをPandasのデータフレームに読み込み

  2. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存