Python Pandas – iloc()でインデックスに基づいて特定の値を選択しサブセットを作成する方法
Pandasでインデックス(位置番号)に基づいて列から特定の値を選択し、サブセット(DataFrameの一部)を作成するには、iloc()メソッドを使用します。ilocは「integer location」の略で、行番号や列番号といった整数位置を指定してデータを抽出できる便利なメソッドです。
まず、pandasライブラリをインポートします。
import pandas as pd
次に、商品レコードを含むPandas DataFrameを作成します。このDataFrameには「Product(商品名)」「Opening_Stock(期首在庫)」「Closing_Stock(期末在庫)」の3つの列があります。
dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]})
iloc()でサブセットを作成する
iloc()を使えば、「先頭2行 × 最初の2列」といった範囲を簡単に指定できます。行と列の位置をスライス形式で渡すのがポイントです。
print("\niloc()で表示したサブセット = \n", dataFrame.iloc[0:2, 0:2])
完全なサンプルコード
以下が一連の処理をまとめた完全なコード例です。
import pandas as pd
dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]})
print("DataFrame...\n", dataFrame)
print("\nProduct列のみを表示:\n", dataFrame['Product'])
# iloc()を使って2列 × 先頭2行のサブセットを作成
print("\niloc()で表示したサブセット = \n", dataFrame.iloc[0:2, 0:2])
実行結果
上記のコードを実行すると、次のような出力が得られます。
DataFrame...
Closing_Stock Opening_Stock Product
0 200 300 SmartTV
1 500 700 ChromeCast
2 1000 1200 Speaker
3 900 1500 Earphone
Product列のみを表示:
0 SmartTV
1 ChromeCast
2 Speaker
3 Earphone
Name: Product, dtype: object
iloc()で表示したサブセット =
Closing_Stock Opening_Stock
0 200 300
1 500 700
まとめ
dataFrame.iloc[0:2, 0:2]のように指定すると、0行目から1行目まで(2行目の手前まで)かつ0列目から1列目まで(2列目の手前まで)の範囲が抽出されます。このようにiloc()を活用すれば、行番号と列番号を自由に組み合わせて、目的のデータ部分だけを柔軟に取り出すことができます。
-
Python・PandasのDataFrameから複数の列を選択する方法
Pandasでは、CSVファイルから読み込んだDataFrameに対して、二重の角括弧 [[ ]] を使うことで、複数の列を簡単に選択できます。本記事では、具体的な手順とサンプルコードを交えて解説します。 前提:サンプルデータについて ここでは、Microsoft Excelで開いた以下のような内容のCSVファイル(SalesData.csv)を例にします。このデータには「Car(車名)」「Reg_Price(登録価格)」「Units(台数)」の3つの列が含まれています。 ステップ1:CSVファイルをPandas DataFrameに読み込む まず、read_csv() メソッドを使って、C
-
Python Pandas入門 – データフレームから条件に合う行のサブセットを抽出する方法
Pandasのデータフレームから行のサブセット(一部の行)を取得するには、条件式を使ってデータを絞り込みます。この手法は「ブールインデックス参照」と呼ばれ、データ分析で最もよく使われる操作のひとつです。 使用するCSVファイル ここでは、Microsoft Excelで開いた次のようなCSVファイル(SalesData.csv)を例にします。車種名(Car)、登録価格(Reg_Price)、販売台数(Units)の3つの列を持つデータです。 CSVファイルをデータフレームとして読み込む まず、read_csv()メソッドを使って、CSVファイルのデータをPandasのデータフレームに読み込み