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
239 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!

sumber:php.cn
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