Pandas를 사용한 데이터 조작에서 iloc과 loc는 흔히 혼동을 일으키는 두 가지 슬라이싱 방법입니다. 효율적인 데이터 관리를 위해서는 근본적인 차이점을 이해하는 것이 필수적입니다.
라벨과 위치
loc과 iloc의 주요 차이점은 데이터를 선택하는 방법에 있습니다.
예:
문자가 포함된 비단조 인덱스가 있는 DataFrame df를 고려하세요.
import pandas as pd df = pd.DataFrame({'col1': ['a', 'b', 'c', 'd', 'e', 'f']}, index=[49, 48, 47, 0, 1, 2])
loc(라벨 기반 슬라이싱):
iloc(위치 기반 슬라이싱):
주요 차이점:
다음 표에서는 다양한 시나리오에서 loc와 iloc의 차이점을 강조합니다.
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]] |
위 내용은 데이터 선택을 위한 Pandas `loc`과 `iloc`의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!