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])
3. pandas ilocによるデータの代入と編集
ilocはデータの抽出だけでなく、データの更新や編集にも使用できます。
3-1: 特定の位置にデータを代入する方法
特定のセルに値を代入するには、以下のようにします。
# 2行目のB列に新しい値を代入
df.iloc[1, 1] = 25
print(df)
3-2: 範囲指定によるデータの一括編集
複数のセルに一括で値を代入することもできます。
# 1行目から2行目のA列に値を代入
df.iloc[0:2, 0] = [100, 200]
print(df)
3-3: 複数インデックスを用いたデータの更新
複数のインデックスを使ってデータを一括で更新する例です。
# 1行目と3行目のB列に値を代入
df.iloc[[0, 2], 1] = [15, 35]
print(df)
4. ilocと共に使うスライスによるデータ操作
スライスと組み合わせることで、ilocの柔軟性がさらに増します。
4-1: ilocでのスライスの基本的な書き方
基本的なスライスの書き方は次の通りです。
# 1行目から3行目のデータを抽出
print(df.iloc[0:3])
4-2: 範囲指定によるデータの部分的な抽出
特定の範囲のデータを抽出することで、必要な部分だけを取り出すことができます。
# 2列目から3列目のデータを取得
print(df.iloc[:, 1:3])
4-3: 条件式を用いたデータのフィルタリング
条件式を用いたデータの抽出も可能です。
# B列が30以上の行を取得
print(df.iloc[:, 1][df['B'] >= 30])
まとめ
ilocを使えば、Pandasのデータフレームやシリーズから特定の行や列を簡単に抽出、編集することができます。この記事で紹介した基本的な使い方や応用テクニックを活用し、より効率的にデータ操作を行ってください。
ilocとスライスの組み合わせは、抽出したいデータの形が先にあると覚えやすくなります。データ分析まで含めてPythonを学べる場としてSiiDを運営しています。
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。