ホームページ > バックエンド開発 > Python チュートリアル > DataFrame スライスにおける Pandas の「loc」メソッドと「iloc」メソッドの主な違いは何ですか?

DataFrame スライスにおける Pandas の「loc」メソッドと「iloc」メソッドの主な違いは何ですか?

Mary-Kate Olsen
リリース: 2024-12-19 13:00:11
オリジナル
223 人が閲覧しました

What are the key differences between Pandas' `loc` and `iloc` methods for DataFrame slicing?

iloc と loc はどう違うのですか?

iloc と loc は、Pandas で DataFrame をスライスするための 2 つの方法です。どちらのメソッドも行と列の選択に使用できますが、入力の解釈方法が異なります。

loc は、特定の ラベル を持つ行 (および/または列) を取得します。

iloc は整数 場所 で行 (および/または列) を取得します。

デモとして、非単調整数インデックスを持つ一連の文字を考えてみましょう:

>>> s = pd.Series(list("abcdef"), index=[49, 48, 47, 0, 1, 2])
49    a
48    b
47    c
0     d
1     e
2     f
ログイン後にコピー
s.loc[0]    # value at index label 0
'd'

s.iloc[0]   # value at index location 0
'a'

s.loc[0:1]  # rows at index labels between 0 and 1 (inclusive)
0    d
1    e

s.iloc[0:1] # rows at index location between 0 and 1 (exclusive)
49    a
ログイン後にコピー

さまざまなオブジェクトが渡されたときの s.loc と s.iloc の相違点/類似点の一部を以下に示します。

Object Description s.loc[Object] s.iloc[Object]
0 Single item Value at index label 0 (_the string 'd'_) Value at index location 0 (_the string 'a'_)
0:1 Slice Two rows (labels 0 and 1) One row (first row at location 0)
1:47 Slice with out-of-bounds end Zero rows (empty Series) Five rows (location 1 onwards)
1:47:-1 Slice with negative step three rows (labels 1 back to 47) Zero rows (empty Series)
[2, 0] Integer list Two rows with given labels Two rows with given locations
s > 'e' Bool series (indicating which values have the property) One row (containing 'f') NotImplementedError
(s>e).values Bool array One row (containing 'f') Same as loc
999 Int object not in index KeyError IndexError (out of bounds)
-1 Int object not in index KeyError Returns last value in s
lambda x: x.index[3] Callable applied to series (here returning 3rd item in index) s.loc[s.index[3]] s.iloc[s.index[3]]

以上がDataFrame スライスにおける Pandas の「loc」メソッドと「iloc」メソッドの主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート