Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah perbezaan utama antara kaedah `loc` dan `iloc` Pandas untuk penghirisan DataFrame?

Apakah perbezaan utama antara kaedah `loc` dan `iloc` Pandas untuk penghirisan DataFrame?

Mary-Kate Olsen
Lepaskan: 2024-12-19 13:00:11
asal
332 orang telah melayarinya

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

Bagaimanakah iloc dan loc berbeza?

iloc dan loc ialah dua kaedah untuk menghiris DataFrame dalam Pandas. Kedua-dua kaedah boleh digunakan untuk memilih baris dan lajur, tetapi ia berbeza dalam cara mereka mentafsir input.

loc mendapat baris (dan/atau lajur) dengan label tertentu.

iloc mendapat baris (dan/atau lajur) pada integer lokasi.

Untuk menunjukkan, pertimbangkan siri s aksara dengan indeks integer bukan monotonik:

>>> s = pd.Series(list("abcdef"), index=[49, 48, 47, 0, 1, 2])
49    a
48    b
47    c
0     d
1     e
2     f
Salin selepas log masuk
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
Salin selepas log masuk

Berikut ialah beberapa perbezaan/ persamaan antara s.loc dan s.iloc apabila melewati pelbagai objek:

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]]

Atas ialah kandungan terperinci Apakah perbezaan utama antara kaedah `loc` dan `iloc` Pandas untuk penghirisan DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan