Pythonのデータ操作ライブラリであるPandasは、データ分析や処理に欠かせないツールとなっています。その中でも、ilocは特定の行や列を簡単に抽出するための非常に強力な機能です。本記事では、ilocの基本的な使い方から、複雑な操作までを実例を交えながら解説します。
1. pandas ilocとは?基本的な使い方を解説
ilocは、Pandasでインデックスを基にデータを選択するためのメソッドです。これは、行番号や列番号を使って、データフレームやシリーズから特定のデータを抽出するために使用されます。
1-1: pandas ilocとlocの違い
ilocは整数インデックスを使用するのに対し、locはラベルベースのインデックスを使用します。例えば、次のように異なります。
import pandas as pd
# データフレームを作成
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [10, 20, 30, 40],
'C': [100, 200, 300, 400]
})
# ilocを使用して2行目を取得
print(df.iloc[1])
# locを使用して2行目を取得(ラベルベース)
print(df.loc[1])1-2: pandasでのilocを用いた基本的なデータ抽出
ilocは、次のようにシンプルに使用できます。
# 3行目のデータを取得
print(df.iloc[2])1-3: DataFrameとSeriesに対するilocの適用方法
DataFrameに対してもSeriesに対しても、ilocは同様に動作しますが、その結果はデータの構造に依存します。
# データフレームの3行目のB列を取得
print(df.iloc[2, 1])
# シリーズに対してilocを使用
series = df['A']
print(series.iloc[2])2. Pythonでのpandas ilocの複数行・複数列の抽出
複数の行や列を同時に抽出することも可能です。
2-1: 行番号を使った複数行の取得方法
連続する行を取得するには、スライスを使用します。
# 1行目から3行目までを取得
print(df.iloc[0:3])2-2: 列番号を使った複数列の取得方法
列の範囲を指定して抽出する例です。
# 1列目から2列目までを取得
print(df.iloc[:, 0:2])2-3: 行と列の組み合わせでのデータ抽出
行と列の組み合わせで特定の範囲を抽出することもできます。
# 2行目と3行目の、A列とB列を取得
print(df.iloc[1:3, 0:2])



