소개
이 랩에서는 pandas DataFrame 클래스의 copy() 메서드를 사용하는 방법을 배웁니다. copy() 메서드를 사용하면 원본 DataFrame 을 수정하지 않고 DataFrame 객체의 복사본을 만들 수 있습니다. copy() 메서드의 구문과 매개변수를 살펴보고 사용법을 설명하는 예제를 제공합니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 즉시 문제를 해결해 드리겠습니다.
DataFrame 생성
먼저, pandas 라이브러리를 import 하고 DataFrame 객체를 생성해야 합니다.
import pandas as pd
df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': ['d', 'e', 'f']})
print(df)
Output:
A B
0 a d
1 b e
2 c f
copy() 메서드를 사용하여 DataFrame 복사
다음으로, copy() 메서드를 사용하여 DataFrame 객체의 복사본을 만들 수 있습니다.
df1 = df.copy()
print(df1)
Output:
A B
0 a d
1 b e
2 c f
복사된 DataFrame 수정
원본 DataFrame 에 영향을 주지 않고 복사된 DataFrame 을 수정할 수 있습니다.
df1['A'] = df1['A'].replace(['b'], 'x')
print(df1)
print(df)
Output:
A B
0 a d
1 x e
2 c f
A B
0 a d
1 b e
2 c f
deep=False 를 사용한 copy() 를 이용한 얕은 복사
기본적으로 copy() 메서드는 깊은 복사 (deep copy) 를 수행하여 데이터와 인덱스의 복사본을 가진 새로운 객체를 생성합니다. 하지만 deep=False 매개변수를 사용하여 얕은 복사 (shallow copy) 를 생성할 수도 있습니다.
df1 = df.copy(deep=False)
df1['A'] = df1['A'].replace(['b'], 'x')
print(df1)
print(df)
Output:
A B
0 a d
1 x e
2 c f
A B
0 a d
1 x e
2 c f
요약
이 랩에서는 pandas DataFrame 클래스에서 copy() 메서드를 사용하는 방법을 배웠습니다. copy() 메서드를 사용하면 원본 DataFrame 을 수정하지 않고 DataFrame 객체의 복사본을 만들 수 있습니다. copy() 메서드를 사용하여 복사본을 만드는 방법과 복사된 DataFrame 을 수정하는 방법을 살펴보았습니다. 또한 깊은 복사 (deep copy) 또는 얕은 복사 (shallow copy) 를 생성할지 제어하는 deep 매개변수에 대해서도 배웠습니다. 기본적으로 깊은 복사가 수행되지만, deep=False로 설정하여 얕은 복사를 생성할 수 있습니다. copy() 메서드를 이해함으로써 원본 데이터에 영향을 주지 않고 DataFrame 객체를 조작할 수 있습니다.