판다스 2.0 출시

Feb 27 2023
Python Pandas 2.0이 방금 출시되었으며 여기에 추가되고 개선된 사항이 있습니다(이는 많은 것을 바꿀 것입니다). 데이터 산업(데이터 엔지니어링/과학/ml)에서 일하는 경우 Pandas가 데이터에 대해 특별히 말하는 것이 무엇인지 이미 알고 있을 것입니다. 엔지니어링, Pandas는 대규모 데이터 세트로 작업하면서 최적의 성능을 제공하지 않기 때문에 많은 미움을 받았습니다.

Python Pandas 2.0이 방금 출시되었으며 추가 및 개선된 사항은 다음과 같습니다(이로 인해 많은 것이 변경될 예정임).

Unsplash에 있는 Pascal Müller의 사진

데이터 산업(데이터 엔지니어링/과학/ml)에 종사하는 경우 Pandas가 무엇인지 이미 알고 있을 것입니다.

데이터 엔지니어링에 대해 특별히 이야기하면서 Pandas는 대규모 데이터 세트로 작업하는 동안 최적의 성능을 제공하지 않기 때문에 많은 미움을 받았습니다.

Pandas 2.0은 이 방향으로 나아가는 단계입니다. 다음은 상위 3가지 기능입니다.

더 빠르고 메모리 효율적인 작업

그들은 백엔드에서 pyarrow에 대한 지원을 추가했습니다.

pyarrow 백엔드는 사용자가 pandas DataFrames 및 Series의 대체 데이터 저장 형식으로 Apache Arrow를 사용할 수 있도록 하는 pandas 2.0의 새로운 기능입니다.

즉, pandas 2.0에서 Parquet 파일을 읽거나 쓸 때 기본적으로 pyarrow를 사용하여 데이터를 처리하므로 더 빠르고 메모리 효율적인 작업이 가능합니다.

pyarrow 란 무엇입니까?
Pyarrow는 병렬로 읽고 처리하기 쉽게 데이터를 구성하는 방법인 컬럼형 메모리 형식을 제공하는 라이브러리입니다.

요약하면, pandas 2.0에서 pyarrow 백엔드를 사용하면 특히 대규모 데이터 세트로 작업할 때 더 빠르고 메모리 효율적인 데이터 작업을 수행할 수 있습니다.

PyArrow 지원

기록 중 복사 최적화

Spark와 유사하며 코드 실행 방식

대규모 데이터 세트로 작업할 때 성능을 개선하고 메모리 사용량을 줄이기 위해 pandas에서 사용되는 메모리 최적화 기술입니다.

아이디어는 DataFrame 또는 Series와 같은 pandas 개체의 복사본을 만들 때 데이터의 새 복사본을 즉시 생성하는 대신 pandas가 원본 데이터에 대한 참조를 생성하고 사용자가 수정할 때까지 새 복사본 생성을 연기한다는 것입니다. 어떤 식으로든 데이터.

즉, 동일한 데이터의 여러 복사본이 있는 경우 그 중 하나를 변경할 때까지 모두 동일한 메모리를 참조할 수 있습니다. 이렇게 하면 불필요한 데이터 복사본을 만들 필요가 없기 때문에 메모리 사용량을 크게 줄이고 성능을 향상시킬 수 있습니다.

전반적으로 Copy-on-Write는 대용량 데이터 세트를 보다 효율적으로 적은 메모리로 작업하는 데 도움이 되는 강력한 최적화 기술입니다.

기록 중 복사

인덱스는 이제 NumPy 숫자 유형을 보유할 수 있습니다.

빠른 요약: 더 나은 색인, 더 빠른 액세스 및 계산

세부 정보:
Pandas 2.0에서는 인덱스가 int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32 및 float64를 포함한 모든 NumPy 숫자 dtype을 보유할 수 있습니다.

이전에는 int64, uint64 및 float64 유형만 지원되었습니다.

그 결과 이전에 64비트 인덱스를 생성했던 작업이 이제 32비트 인덱스와 같이 더 낮은 비트 크기의 인덱스를 생성할 수 있습니다.

넘파이 지수

핵심요약
1. 지원되는 pyarrow를 추가하여 더 빠르고 메모리 효율적인 작업을 수행합니다.
2. Copy-on-Write 최적화: Spark 및 코드 실행 방식과 유사
3. 인덱스는 이제 NumPy 숫자 유형을 보유할 수 있으므로 작업 속도가 빨라집니다.

Python for Data Engineering 과정에서도 이러한 기능에 대한 자습서를 추가할 예정입니다.

데이터 엔지니어링을 위한 Python에 대한 모든 것을 배우고 싶다면 다음을 확인하십시오.

https://learn.datawithdarshil.com/courses/Python-for-Data-Engineering