>백엔드 개발 >파이썬 튜토리얼 >Pandas `s.replace`가 정말 시리즈의 값을 바꾸는 가장 좋은 방법인가요?

Pandas `s.replace`가 정말 시리즈의 값을 바꾸는 가장 좋은 방법인가요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-16 15:37:03516검색

Is Pandas `s.replace` Really the Best Way to Replace Values in a Series?

Pandas 시리즈의 효율적인 사전 기반 값 대체

사전을 통해 Pandas 시리즈의 값 대체(s.replace(d)) 불행하게도 비효율적일 수 있는 일반적인 작업입니다. 이 기사에서는 s.replace가 느린 이유를 조사하고 성능 향상을 위한 대체 접근 방식을 탐색합니다.

s.replace의 비효율성

s.replace 성능이 느린 주된 이유는 다음과 같습니다. 추가 처리가 필요한 극단적인 경우와 드문 상황을 처리합니다. 이 오버헤드는 특히 대규모 데이터세트의 경우 실행 시간에 큰 영향을 미칠 수 있습니다.

대체 방법

성능을 향상하려면 모든 계열 값이 다음과 같은 경우 s.map(d) 사용을 고려하세요. 사전 키에서 찾았습니다. 그러나 이 방법은 적용 가능성이 제한되어 있습니다. 또는 일부 값만 매핑되는 경우 다음 중 하나를 고려하세요.

  • 일반 경우:

    • 사용 5%보다 큰 값이 매핑된 경우 s.map(d).
    • 5%보다 큰 값이 매핑된 경우 s.map(d).fillna(s['A']).astype(int)를 사용하세요. 매핑되었습니다.
  • 사전의 몇 가지 값:

    • s.replace(d)를 사용하세요.

벤치마킹

벤치마킹은 다양한 값 분포를 가진 대규모 데이터 세트에 대해 s.replace보다 s.mapping의 성능 이점을 확인합니다.

설명

s.replace의 속도 저하는 사전을 목록으로 변환하고, 중첩된 사전을 확인하고, 키와 값 목록을 반복하는 등 광범위한 처리로 인해 발생합니다. 이에 비해 s.map은 사전 키에서 계열 값까지 최적화된 경로를 사용하여 직접적인 값 매핑에 중점을 두기 때문에 더 효율적입니다.

위 내용은 Pandas `s.replace`가 정말 시리즈의 값을 바꾸는 가장 좋은 방법인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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