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

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

캐글 Advanced 머신러닝 실전 박치기

데이터 셋 가공 질문입니다.

작성

·

147

0

안녕하세요.

주피터 노트북에서 application test파일불러온 후 EXT_SOURCE_3의 열의 데이터 가공을 할 떄 데이터가 변경이 되는데요.

예를들어 수치값을 --원 이런식으로 나타나게 하고 싶습니다.  만약에 예시와 같은 행동을 취할 시 int->str로 변경되서요,

그래서 생각한게 깊은복사를 하여 데이터셋을 복사한 후 복사한 데이터가지고 가공할려고 하여 아래와 같이 적었습니다. 

import copy

b = copy.deepcopy(['EXT_SOURCE_3의 '])

하지만 기본데이터(원래 다운받은 데이터)에서 변경이 됩니다.

혹시 예시와 같은 해동을 했을 때 다시 원형 데이터로 되돌릴 수 있는 방법이 있나요?

아니면 데이터 전체열은 깊은 복사가 안되는 건지 궁금합니다.

  

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

b = copy.deepcopy(['EXT_SOURCE_3'])를 하면 원본 데이터를 변경하는 지는 저도 처음 알았습니다.

dataframe의 copy() 메소드를 사용해보심 어떨지요?

b = train_df['EXT_SOURCE'].copy(deep=True)

혹시 예시와 같은 해동을 했을 때 다시 원형 데이터로 되돌릴 수 있는 방법이 있나요?

=> 원래 DataFrame에 새로운 컬럼으로 데이터를 만드시는 건 어떠신지요

train_df['EXT_SOURCE_NEW'] = train_df['EXT_SOURCE_NEW'] + '--원'

감사합니다.

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

질문하기