팬더의 for 루프가 정말 나쁜가요? 언제 신경 써야 하나요?
소개
pandas는 계산 속도를 높이는 벡터화된 작업으로 알려져 있지만 많은 코드 예제에는 여전히 루프가 포함되어 있습니다. 문서에서는 데이터에 대한 반복을 피하라고 제안하지만 이 게시물에서는 for 루프가 벡터화된 접근 방식보다 더 나은 성능을 제공하는 시나리오를 살펴봅니다.
소형 데이터의 반복과 벡터화
For 작은 데이터의 경우 for 루프는 축 정렬, 혼합 데이터 유형 및 누락된 데이터 처리와 관련된 오버헤드로 인해 벡터화된 함수보다 성능이 뛰어날 수 있습니다. 최적화된 반복 메커니즘을 사용하는 목록 이해는 훨씬 더 빠릅니다.
혼합/객체 dtype을 사용한 작업
문자열 기반 비교:
사전/목록 요소 액세스:
정규 연산
for 루프를 고려해야 하는 경우
DataFrames의 작은 행의 경우:
혼합 데이터 유형:
정규 표현식:
결론
벡터화된 함수는 단순성과 가독성을 제공하지만 특정 시나리오에서는 루프 기반 솔루션을 고려하는 것이 중요합니다. 성능 요구 사항에 가장 적합한 접근 방식을 결정하려면 신중한 테스트를 수행하는 것이 좋습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3