【Python】Pandas loc と ilocの違いとは? 初心者向けにわかりやすく解説

AI・データサイエンス、
機械学習の実践力を高めたい方へ

  • プログラミングを0から学びたい
  • データサイエンティスト、データ
    アナリストを目指したい
  • AIエンジニア、大規模言語モデル(LLM)エンジニアを目指したい

AI人材コースを無料体験してみませんか?

  • 無料で120以上の教材を学び放題!
  • Pythonやデータ分析、機械学習など
    AI人材に必須のスキルを無料体験できる!
  • データ分析、AI開発の一連の流れを体験、実務につながる基礎スキルを習得!

1分で簡単!無料!

無料体験して特典を受け取る

locとiloc

Pandasのlocとilocは値を抽出するためのメソッドです。
まずはサンプルとなるデータフレームを作成します。

import pandas as pd
df = pd.DataFrame([[10, 20], [25, 50]], index=["1行", "2行"], columns=["1列", "2列"])

このサイトは、Pythonや生成AIなどを学べるオンラインプログラミングスクール AI Academy Bootcampが運営しています。

loc

まずは、locの動作から確認してみましょう。
locは行名もしくは列名を指定することで特定の値を抽出できます。行名や列名をラベルと置き換えて頂いても問題ありません。
1列目と2列目を抽出してみましょう。

pirnt(df.loc["1行", :])

上記を実行すると次のように出力されます。

1列    10
2列    20
Name: 1行, dtype: int64

他にも次のように書くこともできます。

print(df.loc[: , ["1列", "2列"]])

上記を実行すると次のように出力されます。

    1列  2列
1行  10  20
2行  25  50

存在しない列にアクセスするとNaNになります。

print(df.loc[: , ["1列", "5列"]])

上記を実行すると次のように出力されます。

    1列  5列
1行  10 NaN
2行  25 NaN

iloc

次にilocの動作を見ていきましょう。
ilocはindexを指定することで特定の値を抽出できます。つまり、行、列を番号(数字が0のインデックス)で指定します。

# df.iloc[行, 列]
print(df.iloc[1:2])# index指定が可能

上記を実行すると次のように出力されます。

    1列  2列
2行  25  50

また、ilocはスライス表記を用いることが出来るため次のように記述することも可能です。

print(df.iloc[:, -1])  # 負のインデックスを使い、末尾の要素から位置指定し2列目の全ての行を取得。
1行    20
2行    50
Name: 2列, dtype: int64

関連:DataFrameの[]と[[]]に関して カラム取得方法を理解しよう!

【無料動画:倍速で学ぶ!生成AIを活用したプログラミング勉強法(短縮版)】

生成AIを活用して効率的にプログラミングを学ぶ方法を解説しています。生成AIの基本的な仕組みや効果的な活用法、注意点についても詳しく説明。勉強法とともに生成AIそのものについても学べる内容となっています。ぜひご覧ください! 

全編は、AI Academy公式LINEで配信中です。

✨AI人材コース 受講お申込み受付中!

AI Academy Bootcamp ではAI・データサイエンス、機械学習、Webアプリ開発の実践力を高める全6コース約50時間以上の動画が見放題!AIの学習に必須のPythonの学習から始まり、ITリテラシー、LLM学習など、目的に応じた幅広い分野をカバーしています。LINE公式では、お得な割引クーポンもプレゼントしています!

単独で学ぶより、全コースを一気に学ぶことで得られる「学習シナジー効果」が特長。
基礎から応用まで、データ分析とAI開発のスキルを効率よく身につけられます。



  • 30時間以上の動画講座が見放題!
  • 追加購入不要!
    これだけで学習できるカリキュラム
  • (質問制度や添削プラン等)
    充実したサポート体制!

1分で簡単!無料!

AI人材コースを見る



無料体験して特典を受け取る