pandas の loc、iloc、ix の違い – python

DataFrame のデータを参照する方法はいくつかありますが、その中にlocilocix という微妙によく似た属性があります。

この 3 つは、 を指定してデータを参照するという、基本的に同じ目的で使われます。

loc iloc ix

異なる点は 行、列の指定の方法で、次のような違いがあります。

 
loc
iloc
ix
行、列の指定方法
行ラベル、 列ラベル
行の番号(0 ~ )、列の番号(0 ~ )
行ラベル、列ラベル または 行の番号(0 ~ )、列の番号(0 ~ )

この違いを、サンプルを交えて順番に見ていきます。

- 目次 -

スポンサーリンク

loc

loc は 行、列をラベルで指定します。

iloc

iloc は 行、列を番号で指定します(先頭が 0)。

ix

ix は 行、列をラベル または番号で指定します。

ix の注意点

ix はラベルでも番号でも指定できることを上で見ました。この点は便利といえば便利ですが、ちょっと注意が必要です。インデックスやカラムが整数型 だった場合、

この場合、0,1 はインデックスを指すのでしょうか、それとも行の番号を指すのでしょうか。

答はインデックスです。ここを意識して使わないと、おかしな場所を参照してしまいます。

スポンサーリンク
その他の記事
  1. わかりやすい説明ありがとうございます。
    一番最初に「微妙によく似たプロラティがあります。」とありますが、「プロラティ」っていう言葉はどのような意味なのでしょうか。調べたのですが、よくわからず、よろしくお願い致します。

    • hiraiさん、こんにちわ。

      すいません、誤植でした。プロパティの誤りです。

      念のため pandas のドキュメントを見たところ loc、iloc、ix は Attributes となっており、Attributes は属性とするほうがしっくりくるので属性に直しました。

hirai へ返信する コメントをキャンセル