Pandas DataFrame에서 새 열을 생성하는 데 Pandas Apply 또는 NumPy Vectorize 중 어떤 방법이 더 빠릅니까?

Linda Hamilton
풀어 주다: 2024-10-26 14:40:03
원래의
707명이 탐색했습니다.

Which Method is Faster for Creating New Columns in a Pandas DataFrame: Pandas Apply or NumPy Vectorize?

Pandas Apply와 열 생성을 위한 NumPy 벡터화의 성능 고려 사항

Pandas Apply가 널리 사용되지만 생성 시 성능은 NumPy 벡터화보다 뒤떨어집니다. 기존 열의 새 열. 이러한 차이는 적용 함수가 상당한 오버헤드를 발생시키는 Python 수준 루프라는 사실에 기인합니다. 반면 벡터화는 입력 함수를 범용 함수로 변환하여 효율성을 크게 향상시킵니다.

성능 벤치마크

Python 수준 루프를 비교하고 raw=True로 적용하면 관찰:

  • zip을 사용한 지도, 목록 이해 및 벡터화는 유사한 성능을 나타냅니다.
  • apply with raw=True는 raw=True가 없는 것보다 훨씬 빠릅니다.

진정한 벡터화

그러나 적용과 벡터화 모두 NumPy 배열에서 요소별로 계산을 수행하는 np.where와 같은 진정한 벡터화 작업에 의해 가려집니다. 이 접근 방식은 훨씬 더 빨라서 루프가 필요하지 않습니다.

추가 성능 고려 사항

중요한 병목 현상이 있는 경우 Python 함수를 고도로 최적화된 C로 컴파일하는 도구인 numba를 고려하세요. 암호. numba를 사용하면 계산 속도가 더욱 빨라질 수 있습니다.

결론

기존 열에서 새 열을 생성할 때 NumPy 벡터화는 기본 벡터화로 인해 Pandas 적용에 비해 우수한 성능을 제공합니다. 능력. 최적의 효율성을 위해서는 해당되는 경우 실제 벡터화를 사용해야 합니다.

위 내용은 Pandas DataFrame에서 새 열을 생성하는 데 Pandas Apply 또는 NumPy Vectorize 중 어떤 방법이 더 빠릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!