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

Python Pandas – locを使って行と列を組み合わせたサブセットを選択する方法

はじめに

Pandasで行と列を組み合わせたサブセットを選択するには、locを使用します。インデックス演算子(角括弧 [ ] )と組み合わせ、locの中に条件を設定することで、目的のデータだけを効率的に抽出できます。

本記事では、Microsoft Excelで開いた以下のようなCSVファイルを例に解説します。このデータには、車名(Car)、登録価格(Reg_Price)、販売台数(Units)の3つの列が含まれています。

CSVファイルからデータを読み込む

まず、CSVファイルからデータをPandas DataFrameに読み込みます。

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

行と列を組み合わせたサブセットの選択方法

locでは、カンマ(,)の左側に行を絞り込む条件を指定し、右側に表示したい列名を指定します。以下の例では、「Units(販売台数)」が100より大きい行を対象に、「Car(車名)」列のみを表示しています。

dataFrame.loc[dataFrame["Units"] > 100, "Car"]

完全なコード例

import pandas as pd

# CSVファイルからデータをPandas DataFrameに読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")
print("\nReading the CSV file...\n", dataFrame)

# 条件に合う行のサブセットを選択
print("\nSelect cars with Units more than 100: \n", dataFrame[dataFrame["Units"] > 100])

# 2つの列のみを表示
res = dataFrame[['Reg_Price', 'Units']]
print("\nDisplaying only two columns : \n", res)

# 行と列を組み合わせたサブセットを選択
# カンマの右側には表示したい列を指定(ここではCar列)
res2 = dataFrame.loc[dataFrame["Units"] > 100, "Car"]

# サブセットを表示
print("\nSubset...\n", res2)

出力結果

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

Reading the CSV file...
        Car   Reg_Price   Units
0       BMW        2500     100
1     Lexus        3500      80
2      Audi        2500     120
3    Jaguar        2000      70
4   Mustang        2500     110

Select cars with Units more than 100:
        Car   Reg_Price   Units
2      Audi        2500     120
4   Mustang        2500     110

Displaying only two columns :
    Reg_Price   Units
0        2500     100
1        3500      80
2        2500     120
3        2000      70
4        2500     110

Subset...
2      Audi
4   Mustang
Name: Car, dtype: object

ポイント解説

  • dataFrame[dataFrame["Units"] > 100]:条件に一致する行全体を抽出します。すべての列が表示されます。
  • dataFrame[['Reg_Price', 'Units']]:特定の複数列だけを選択して表示します。行の条件は関与しません。
  • dataFrame.loc[条件, 列名]:行の条件と表示する列を同時に指定できるため、必要なデータだけをスマートに取り出せます。

このようにlocを活用すれば、行のフィルタリングと列の選択を1行のコードで組み合わせることができ、大規模なデータセットから必要な情報を効率的に取得できます。

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

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

  2. Pythonによるデータ分析と可視化入門|pandasの基本を徹底解説

    Pythonによるデータ分析と可視化の概要 Pythonには、データ分析と可視化のための強力なライブラリが数多く用意されています。代表的なものとしては、NumPy、pandas、matplotlib、seabornなどが挙げられます。本記事では、その中でも中心的な役割を果たすpandasについて詳しく解説します。pandasはNumPyをベースに構築されたオープンソースライブラリで、高速なデータ分析やデータのクリーニング・前処理を効率的に行えます。さらに、pandas自体にも便利な可視化機能が組み込まれています。 pandasのインストール方法 pandasをインストールするには、ターミナル