code

.ix ()가 더 빠르고 정수 및 레이블 액세스를 지원하기 때문에 .loc () 및 .iloc ()보다 항상 낫습니까?

codestyles 2020. 11. 12. 08:15
반응형

.ix ()가 더 빠르고 정수 및 레이블 액세스를 지원하기 때문에 .loc () 및 .iloc ()보다 항상 낫습니까?


Python pandas 라이브러리를 배우고 있습니다. R 배경에서 비롯된 인덱싱 및 선택 기능은 필요 이상으로 복잡해 보입니다. .loc ()은 레이블 기반이고 .iloc ()은 정수 기반이라는 것을 이해합니다.

.ix ()가 더 빠르고 정수 및 레이블 액세스를 지원한다면 왜 .loc () 및 .iloc ()을 사용해야합니까?


해당 문서를 참조하십시오 인덱싱을위한 다른 선택 , 명확 할 때와 상태 당신이 사용해야하는 이유 .loc, .iloc을 통해 .ix , 그것은 명시 적으로 사용 사례에 관하여 :

.ix는 혼합 정수 및 레이블 기반 액세스를 지원합니다. 주로 레이블 기반이지만 해당 축이 정수 유형이 아닌 경우 정수 위치 액세스로 대체됩니다. .ix는 가장 일반적이며 .loc 및 .iloc의 모든 입력을 지원합니다. .ix는 부동 소수점 레이블 체계도 지원합니다. .ix는 혼합 된 위치 및 레이블 기반 계층 색인을 처리 할 때 매우 유용합니다.

그러나 축이 정수 기반 인 경우 위치 액세스가 아닌 레이블 기반 액세스 만 지원됩니다. 따라서 이러한 경우 일반적으로 명시 적으로 .iloc 또는 .loc을 사용하는 것이 좋습니다.

도움이 되었기를 바랍니다.

업데이트 2017 년 3 월 22 일

@Alexander의 의견 덕분에, 팬더는 비추천 것입니다 ix0.20 에서 자세한 여기 .

그 뒤에 강력한 이유 중 하나는 위치 및 레이블 (효과적으로 사용 ix)의 혼합 인덱스 가 사용자에게 중요한 문제의 원인이 되었기 때문 입니다.

사용으로 이동할 것으로 예상 iloc하고 loc대신에, 여기에 링크입니다 코드를 변환하는 방법은 .

참고 URL : https://stackoverflow.com/questions/27667759/is-ix-always-better-than-loc-and-iloc-since-it-is-faster-and-supports-i

반응형