>백엔드 개발 >파이썬 튜토리얼 >DataFrame 선택 시 pandas의 `loc`과 `iloc`의 차이점은 무엇입니까?

DataFrame 선택 시 pandas의 `loc`과 `iloc`의 차이점은 무엇입니까?

DDD
DDD원래의
2024-12-22 00:27:40793검색

What's the Difference Between pandas' `loc` and `iloc` for DataFrame Selection?

iloc과 loc은 어떻게 다른가요?

Python의 pandas 라이브러리에서는 DataFrame을 분할하는 데 loc 및 iloc 함수가 사용됩니다. 일부 유사점을 공유하지만 주요 목적과 기본 메커니즘은 크게 다릅니다.

loc 대 iloc: 레이블 기반 대 위치 기반 선택

loc 행이나 열과 관련된 인덱스 값인 레이블을 기반으로 작동합니다. 레이블을 지정된 선택 기준과 일치시켜 행(또는 열)을 검색합니다. 예를 들어 df.loc[:5]는 DataFrame의 처음 5개 행을 반환하며 레이블은 오름차순입니다.

iloc는 다음을 기반으로 작동합니다. 정수 위치. DataFrame에서의 위치에 따라 행(또는 열)을 선택합니다. 예를 들어, df.iloc[:5]는 처음 5개 행도 반환하지만 선택은 순서 위치(0부터 시작하는 인덱스)를 기반으로 합니다.

구별 예시

비단조 인덱스가 있는 다음 DataFrame을 고려하세요.

s = pd.Series(list("abcdef"), index=[49, 48, 47, 0, 1, 2]) 

loc 및 iloc를 사용하여 처음 5개 요소:

s.loc[:5]   # row by row label (inclusive)
s.iloc[:5]  # row by row location (exclusive)

결과가 다릅니다.

  • s.loc[:5]는 인덱스 레이블이 0~5(포함)인 행을 반환하여 결과는 다음과 같습니다.
0    d
1    e
2    f
  • s.iloc[:5]는 0~4 위치의 행을 반환합니다. (제외), 결과:
49    a
48    b
47    c
0    d
1    e

일반적인 차이점

loc과 iloc의 일반적인 차이점을 요약하면:

  • loc: 인덱스 레이블 기반, 태그별 정확한 선택.
  • iloc: 정수 위치 기반, 태그별 선택 position.
  • loc는 단조롭지 않은 인덱스와 범위를 벗어난 레이블을 처리할 수 있는 반면 iloc는 이러한 경우 오류를 발생시킵니다.
  • iloc는 특정 시나리오에서, 특히 인덱스가 숫자이고 순서대로입니다.

추가 고려사항

다음 사항에 유의하는 것이 중요합니다. iloc은 DataFrame의 열에서도 작동할 수 있지만 구문은 동일하게 유지됩니다. 그러나 loc는 열을 선택할 때 축 레이블을 사용할 수 있어 더 많은 유연성을 제공합니다.

자세한 내용은 [인덱싱 및 슬라이싱](https://pandas.pydata.org/docs/)에 대한 Pandas 문서를 참조하세요. user_guide/indexing.html).

위 내용은 DataFrame 선택 시 pandas의 `loc`과 `iloc`의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.