Python の pandas ライブラリでは、loc 関数と iloc 関数はデータフレームのスライスに使用されます。これらはいくつかの類似点を共有していますが、主な目的と基礎となるメカニズムが大きく異なります。
loc行または列に関連付けられたインデックス値である labels に基づいて動作します。行 (または列) のラベルを指定された選択基準と照合することにより、行 (または列) を取得します。たとえば、df.loc[:5] は、ラベルが昇順で並んでいる DataFrame の最初の 5 行を返します。一方、
iloc は、以下に基づいて動作します。 整数の位置。 DataFrame 内の位置に基づいて行 (または列) を選択します。たとえば、df.iloc[:5] も最初の 5 行を返しますが、その選択は序数位置 (0 から始まるインデックス) に基づいて行われます。
非単調インデックスを持つ次のデータフレームを考えてみましょう:
s = pd.Series(list("abcdef"), index=[49, 48, 47, 0, 1, 2])
loc と iloc を使用して、最初の 5 つの要素を取得します:
s.loc[:5] # row by row label (inclusive) s.iloc[:5] # row by row location (exclusive)
結果は異なります:
0 d 1 e 2 f
49 a 48 b 47 c 0 d 1 e
loc と iloc の一般的な違いを要約すると、次のようになります。
重要ですiloc は DataFrame の列でも操作できますが、その構文は同じままであることに注意してください。ただし、loc は列を選択するときに軸ラベルを使用できるため、柔軟性が高まります。
詳細については、[インデックス付けとスライス] (https://pandas.pydata.org/docs/) に関する pandas のドキュメントを参照してください。 user_guide/indexing.html).
以上がデータフレーム選択におけるパンダの「loc」と「iloc」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。