Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Perbezaan Antara `loc` dan `iloc` Panda untuk Pemilihan Data?
Dalam manipulasi data menggunakan Pandas, iloc dan loc ialah dua kaedah penghirisan yang biasa digunakan yang sering menyebabkan kekeliruan. Memahami perbezaan asas mereka adalah penting untuk pengurusan data yang cekap.
Label lwn. Lokasi
Perbezaan utama antara loc dan iloc terletak pada cara mereka memilih data:
Contoh:
Pertimbangkan DataFrame df dengan indeks bukan monotonik yang mengandungi huruf:
import pandas as pd df = pd.DataFrame({'col1': ['a', 'b', 'c', 'd', 'e', 'f']}, index=[49, 48, 47, 0, 1, 2])
loc (Berasaskan Label Menghiris):
iloc (Penghirisan Berdasarkan Lokasi):
Perbezaan Utama:
Jadual berikut menyerlahkan perbezaan antara loc dan iloc dalam pelbagai senario:
Object | Description | loc | iloc |
---|---|---|---|
0 | Single item | Value at index label 0 ('d') | Value at index location 0 ('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' | Boolean series (indicating true values) | One row (containing 'f') | NotImplementedError |
(s>'e').values | Boolean array | One row (containing 'f') | Same as loc |
999 | Integer object not in index | KeyError | IndexError (out of bounds) |
-1 | Integer 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 Antara `loc` dan `iloc` Panda untuk Pemilihan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!