Pandas Copy-On-Write 구현 가이드

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 Python Pandas 에서 Copy-On-Write (CoW) 개념을 이해하고 구현하는 방법에 대한 단계별 가이드를 제공합니다. CoW 는 복사를 가능한 한 늦게 수행함으로써 성능과 메모리 사용량을 향상시키는 최적화 전략입니다. 또한, 여러 객체의 의도하지 않은 수정을 방지하는 데도 도움이 됩니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

Copy-On-Write 활성화

먼저, pandas 에서 CoW 를 활성화해 보겠습니다. 이는 pandas 의 copy_on_write 구성 옵션을 사용하여 수행할 수 있습니다. CoW 를 전역적으로 활성화하는 두 가지 방법은 다음과 같습니다.

## pandas 및 numpy 라이브러리 가져오기
import pandas as pd

## set_option 을 사용하여 CoW 활성화
pd.set_option("mode.copy_on_write", True)

## 또는 직접 할당 사용
pd.options.mode.copy_on_write = True

DataFrame 을 사용한 CoW 이해

이제 DataFrame 을 생성하고 CoW 가 데이터 수정에 어떤 영향을 미치는지 살펴보겠습니다.

## DataFrame 생성
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})

## DataFrame 의 하위 집합 생성
subset = df["foo"]

## 하위 집합 수정
subset.iloc[0] = 100

## 원본 DataFrame 출력
print(df)

DataFrame 을 사용한 CoW 구현

이제 DataFrame 을 수정할 때 CoW 를 구현하는 방법을 살펴보겠습니다.

## CoW 활성화
pd.options.mode.copy_on_write = True

## DataFrame 의 하위 집합 생성
subset = df["foo"]

## 하위 집합 수정
subset.iloc[0] = 100

## 원본 DataFrame 출력
print(df)

CoW 를 사용한 체인 할당 이해

이제 CoW 와 함께 체인 할당이 어떻게 작동하는지 이해해 보겠습니다.

## DataFrame 생성
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})

## CoW 원칙을 위반하는 체인 할당 적용
df["foo"][df["bar"] > 5] = 100

## DataFrame 출력
print(df)

CoW 를 사용한 체인 할당 구현

마지막으로, loc 메서드를 사용하여 CoW 와 함께 체인 할당을 구현하는 방법을 살펴보겠습니다.

## DataFrame 생성
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})

## 'loc'을 사용하여 CoW 와 함께 체인 할당 적용
df.loc[df["bar"] > 5, "foo"] = 100

## DataFrame 출력
print(df)

요약

이 랩에서는 Copy-On-Write (CoW) 의 개념과 Python Pandas 에서 이를 구현하는 방법에 대해 배웠습니다. 또한 CoW 가 데이터 수정에 미치는 영향과 체인 할당과 어떻게 작동하는지 이해했습니다. CoW 를 사용하면 더 나은 성능과 메모리 사용을 위해 코드를 최적화할 수 있습니다.