> 백엔드 개발 > 파이썬 튜토리얼 > `dtype` 및 `low_memory` 옵션을 사용하여 Pandas `read_csv`를 최적화하는 방법은 무엇입니까?

`dtype` 및 `low_memory` 옵션을 사용하여 Pandas `read_csv`를 최적화하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-08 18:08:02
원래의
329명이 탐색했습니다.

How to Optimize Pandas `read_csv` with `dtype` and `low_memory` Options?

Pandas read_csv: low_memory 및 dtype 옵션

pd.read_csv('somefile.csv')를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 열에 혼합 유형이 있음을 나타내는 DtypeWarning입니다. dtype 옵션을 지정하면 이 오류를 방지하고 성능을 향상할 수 있습니다.

low_memory 옵션 이해

사용되지 않는 low_memory 옵션은 실제로 동작에 영향을 미치지 않습니다. 그러나 각 열에 대한 dtype을 추측하는 것은 메모리 집약적일 수 있기 때문에 dtype 옵션과 관련이 있습니다.

데이터 불일치 방지

파일에 예상치 못한 데이터가 포함되어 있으므로 dtypes를 지정하면 로드 프로세스가 실패할 수 있습니다. 예를 들어 정수로 지정된 열에 "foobar"와 같은 문자열 값이 포함되어 있으면 로드가 중단됩니다.

dtypes 지정

이러한 오류를 방지하려면 명시적으로 CSV 파일을 읽을 때 dtypes를 지정하십시오. dtype 옵션을 사용하면 각 열에 올바른 데이터 유형이 할당되어 효율적인 구문 분석이 가능하고 메모리 소비가 줄어듭니다.

사용 가능한 dtypes

Pandas는 다음을 포함한 다양한 dtype을 지원합니다. :

  • Numpy 유형: float, int, bool, timedelta64[ns], datetime64[ns]
  • Pandas 확장:

    • datetime64 [ns, ](시간대 인식 타임스탬프)
    • 범주(열거형)
    • 기간[](기간)
    • 희소(구멍이 있는 데이터)
    • 간격(인덱싱)
    • null 가능 정수(Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64)
    • 문자열(문자열 작업용)
    • 부울(null 가능 bool)

Gotchas

  • dtype=object를 설정하면 경고가 음소거되지만 그렇지 않습니다. 메모리 효율성을 향상시킵니다.
  • numpy는 유니코드를 객체로 나타내기 때문에 dtype=unicode 설정은 효과가 없습니다.
  • 변환기는 예상치 못한 데이터를 처리하는 데 사용할 수 있지만 Pandas의 단일 프로세스로 인해 비효율적입니다. 자연.

위 내용은 `dtype` 및 `low_memory` 옵션을 사용하여 Pandas `read_csv`를 최적화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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