ホームページ >バックエンド開発 >Python チュートリアル >データ選択における Pandas の「iloc」と「loc」の違いは何ですか?

データ選択における Pandas の「iloc」と「loc」の違いは何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-16 18:04:21711ブラウズ

What's the Difference Between Pandas' `iloc` and `loc` for Data Selection?

iloc と loc の違い: ラベルと場所

区別を理解する

iloc と loc の主な違いは、行とデータにアクセスする方法にあります。 columns:

  • loc: 行と列のラベルを使用してデータを検索します。これらのラベルは通常、インデックス値または列名です。
  • iloc: 行と列の 整数の位置 を使用してデータを検索します。これらの場所は、DataFrame 内の要素の位置を参照します。

デモ

以下の DataFrame の例を考えてみましょう:

Index Column A
0 John
1 Mary
2 Peter

最初の 5 つを抽出rows:

  • loc[:5]: インデックス ラベル 0 ~ 4 (両端の値を含む) を持つすべての行を返します。
  • iloc[ :5]: 0 ~ 4 の整数位置にある最初の 5 行を返します。 (排他的)。

違いの明確化

さらに説明するには、非単調インデックスを考えてみましょう。

Index Series
49 a
48 b
47 c
0 d
1 e
2 f

インデックスラベルの値0:

  • loc[0] はインデックス ラベルを使用するため 'd' をフェッチします。
  • iloc[0] は 'a をフェッチします' 整数の位置を使用するためです (「d」の整数の位置は3).

行のスライスへのアクセス:

  • loc[0:1] は、インデックス ラベル 0 と 1 (両端を含む) を持つ行を取得します。 .
  • iloc[0:1] を取得しますインデックス位置 0 の行のみ (行 1 は含まれません)。

追加の考慮事項

  • ラベルがありません: 指定されたラベルがインデックスにない場合、loc は KeyError を発生させますが、iloc はIndexError.
  • Boolean Series: loc は Boolean Series を通じてインデックスを作成できますが、iloc は NotImplementedError を返します。
  • Callables: loc と iloc は両方とも実行できます呼び出し可能オブジェクトをインデクサーとして適用しますが、範囲外の値を処理します

以上がデータ選択における Pandas の「iloc」と「loc」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。