python dataframe 값 복사

jaeha_lee·2022년 4월 10일
0

pandas의 데이터 타입인 dataframe의 경우
값을 복사할 때, 원본 dataframe의 값은 그대로 놔두고 싶은데 값을 바꾸면 원본 값이 바뀌는 경우가 발생한다.

이 경우

import pandas as pd
origin = pd.DataFrame([['a', 1], ['b', 2],  ['c', 3]], columns = ['Alpha', 'Num'])
origin

	Alpha	Num
0	a	1
1	b	2
2	c	3

copy = origin
# 이렇게 origin이라는 Dataframe을 copy안에 값을 넣고
copy.iloc[0,0] = "change"
# copy.loc[0,"Alpha"] = "change" # 위 코드와 같은 결과# 이 개념이 궁금하다면 Dataframe의 iloc/loc을 검색
# 이런식으로 값을 바꾸면 copy의 값이 변하지만 origin의 값도 바껴있음을 확인할 수 있다.
copy
        	Alpha	Num
        0	change	1
        1	b	2
        2	c	3

origin
            Alpha	Num
        0	change	1
        1	b	2
        2	c	3

# 이런 경우를 방지하기 위해
# copy = origin.copy()를 설정해주면 copy 값을 바꾸더라도 origin의 값은 변하지 않는다!

즉 ! 결론

pandas Dataframe의 값을 복사할 경우

copy = origin.copy() #를 사용하자!

0개의 댓글