인프런 커뮤니티 질문&답변

abchance님의 프로필 이미지
abchance

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[17/20] pandas 의 concat 으로 두 개의 데이터프레임 하나로 합치기

질문있습니다!

작성

·

231

1

안녕하세요! 좋은 강의 재밌게 듣고 있습니다!

copy로 복사해서 변수에 저장한다고 하셨는데, 이걸 왜 하는지 궁금합니다.

copy를 굳이 하지 않아도 어차피 새 변수에 저장하는 거니까 그 전 변수, 그러니까, df_first_melt는 영향을 안 받는 것 아닌가요??

감사합니다!

답변 2

1

메모리 변수가 같아서 카피를 안하면 같은곳을 가르켜서 새로운 변수를 바꾸면 기존 변수도 바뀌어요.  대신 카피를 하면 새로운 메모리 변수에 저장해서 새로운 변수를 변경해도 기존 변수가 안 바뀌구요!

0

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요! 데이터 프레임의 사본을 만들면 원본에 영향을 주게 되는데 이런 현상을 방지하기 위해 copy()를 사용합니다.

위와 같이 서브셋을 만들어 저장하면 원본에는 영향을 주진 않지만 SettingWithCopyWarning 이 발생하게 됩니다.

따라서 .copy()로 사본을 생성해 주는 것을 권하는데요. 

아래 첨부한 이미지를 참고해 주시면 좋을거 같아요.

또, 이 내용에 대해 좀 더 알고 싶으시다면 깊은복사와 얕은복사로 검색을 해보시면 관련 자료가 많이 나올거에요! 

abchance님의 프로필 이미지
abchance

작성한 질문수

질문하기