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行のコードで組み合わせることができ、大規模なデータセットから必要な情報を効率的に取得できます。
-
Python Pandas入門 – データフレームから条件に合う行のサブセットを抽出する方法
Pandasのデータフレームから行のサブセット(一部の行)を取得するには、条件式を使ってデータを絞り込みます。この手法は「ブールインデックス参照」と呼ばれ、データ分析で最もよく使われる操作のひとつです。 使用するCSVファイル ここでは、Microsoft Excelで開いた次のようなCSVファイル(SalesData.csv)を例にします。車種名(Car)、登録価格(Reg_Price)、販売台数(Units)の3つの列を持つデータです。 CSVファイルをデータフレームとして読み込む まず、read_csv()メソッドを使って、CSVファイルのデータをPandasのデータフレームに読み込み
-
Pythonによるデータ分析と可視化入門|pandasの基本を徹底解説
Pythonによるデータ分析と可視化の概要 Pythonには、データ分析と可視化のための強力なライブラリが数多く用意されています。代表的なものとしては、NumPy、pandas、matplotlib、seabornなどが挙げられます。本記事では、その中でも中心的な役割を果たすpandasについて詳しく解説します。pandasはNumPyをベースに構築されたオープンソースライブラリで、高速なデータ分析やデータのクリーニング・前処理を効率的に行えます。さらに、pandas自体にも便利な可視化機能が組み込まれています。 pandasのインストール方法 pandasをインストールするには、ターミナル