[29일차]DataFrame심화 - 데이터프레임 복제와 일치확인(copy, equals)

김준석·2024년 1월 4일

실습 환경 구축

import pandas as pd

customers = pd.read_csv('marketing_campaign.csv', sep='\t', index_col='ID')
customers

copy()

copy()를 좀 더 심화해서 이해해보자.

customers 데이터 프레임을 카피한

customers_copy 데이터 프레임을 만들었다.

이 두 데이터의 주소와 값을 비교해보자.

1. 주소 비교

주소 비교시에는id() 메소드를 사용한다.

컴퓨터 메모리 주소를 숫자형으로 반환.

# 주소 비교
id(customers), id(customers_copy)

주소가 서로 다르다.

is 연산자로도 확인 가능하다.

주소값을 비교해주는 연산자이다.

customers is customers_copy

값이 다름.

2. 값 비교 1

# 값 비교 1
customers == customers_copy

이퀄을(=) 이용한 비교

동일한 값이 True로 배정되는데 보기가 어렵다..

물론 value_counts를 이용하거나 sum을 이용해 모두가 True인지 알 수 있겠지만 복잡하다.

그럴땐 equals() 메소드를 이용할 수 있다.

두 값이 같은지 비교할 때 사용.

# 값 비교 2
customers.equals(customers_copy)

값이 동일하다.


**.copy()를 잘 이해하고 사용하자.**

원본을 변경하고자 할 때에는

SettingWithCopyWarning 경고가 발생한다.

그렇기 때문에 별도의 프레임을 만들어서 작업을 하려고 할때에는

꼭! .copy() 를 해서 작업하자.

0개의 댓글