Bagaimana iloc dan loc Berbeza: Label lwn. Lokasi
Memahami Perbezaan
The perbezaan utama antara iloc dan loc terletak pada cara mereka mengakses baris dan lajur:
-
loc: Mengesan data menggunakan baris dan lajur label. Label ini biasanya nilai indeks atau nama lajur.
-
iloc: Mengesan data menggunakan baris dan lajur lokasi integer. Lokasi ini merujuk kepada kedudukan elemen dalam DataFrame.
Demonstrasi
Pertimbangkan contoh DataFrame di bawah:
Index |
Column A |
0 |
John |
1 |
Mary |
2 |
Peter |
Mengekstrak 5 yang pertama baris:
-
loc[:5]: Mengembalikan semua baris dengan label indeks 0 hingga 4 (termasuk).
-
iloc[ :5]: Mengembalikan 5 baris pertama di lokasi integer 0 hingga 4 (eksklusif).
Menjelaskan Perbezaan
Untuk menggambarkan lebih lanjut, pertimbangkan indeks tidak monotonik:
Index |
Series |
49 |
a |
48 |
b |
47 |
c |
0 |
d |
1 |
e |
2 |
f |
Mengakses nilai pada label indeks 0:
-
loc[0] mengambil 'd' kerana menggunakan label indeks.
-
iloc[0] mengambil 'a ' kerana ia menggunakan lokasi integer (walaupun lokasi integer 'd' ialah 3).
Mengakses sepotong baris:
-
loc[0:1] mendapatkan semula baris dengan label indeks 0 dan 1 (termasuk) .
-
iloc[0:1] mendapatkan semula hanya baris di lokasi indeks 0 (dan tidak termasuk baris 1).
Pertimbangan Tambahan
-
Label yang tiada: loc menimbulkan KeyError jika label yang ditentukan tiada dalam indeks, manakala iloc mengembalikan IndexError.
-
Siri Boolean: loc boleh mengindeks melalui Siri Boolean, manakala iloc mengembalikan NotImplementedError.
-
Callables: loc dan iloc boleh kedua-duanya menggunakan boleh panggil sebagai pengindeks, tetapi mereka mengendalikan nilai di luar sempadan berbeza.
Atas ialah kandungan terperinci Apakah Perbezaan Antara `iloc` dan `loc` Panda untuk Pemilihan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!