Programming for trading

[Python] chatGPT 활용기(데이터프레임 replace)

quantoasis 2023. 1. 16. 14:27
반응형

 

 

데이터를 다루다 보면 칼럼 내 문자열 처리를 해야 하는 경우가 있습니다.

 

예를 들어 데이터베이스에 숫자 데이터를 insert할때  콤마(,)때문에 데이터가 문자열로 인식되어 오류를 뱉는 상황 등입니다. 이 경우 콤마를 빈값으로 수정해 주어야 숫자로 옳게 인식합니다.

 

data.csv
0.02MB

 

 

 

str과 replace 함수를 통해 아래와 같이 컬럼 하나씩 바꿀 수 있는데요, 여러 칼럼일 경우 칼럼마다 코드를 작성해야 한다는 번거로움이 있었습니다.

 

df['frst_acqs_amount'] = df['frst_acqs_amount'].str.replace(',','')

 

그래서 7열부터 나머지열의 모든 컬럼을 한 번에 싶어 아래와 같이 코드를 작성했는데요,

 

데이터프레임에서는 작동되는 replace함수는 제가 의도한 replace와 달랐습니다. 데이터프레임 replace는 셀 안에 문자열의 수정이 아니라 그 셀값 자체를 수정하는 함수였기 때문입니다.

 

#틀린 코드
df_set_diff[df_set_diff.columns[7:]].replace(',','')

 

단순한 작업인줄 알았는데 구글링을 해봐도 한 번에 여러 칼럼을 치환하는 함수는 나오지 않더라고요.

 

 

그래서 요새 핫한 chatGPT가 코딩도 할 줄 안다길래 한번 물어봤습니다(오타가 있네요).

 

 

그랬더니 chatGPT는 제가 원하는 답을 바로 반환해 주었습니다. 

 

 

#옳은코드
df_set_diff[df_set_diff.columns[7:]] = df_set_diff[df_set_diff.columns[7:]].replace({',': ''}, regex=True)

 

신기해서 여러 가지를 더 물어봤습니다.

 

주가를 저장할 수 있는 데이터베이스 테이블을 코드도 물어봤고요.

 

 

Value at risk를 sql로 작성하는 법도 물어봤습니다.

 

 

제가 원하는 대로 답변을 반환해 냈습니다. 정말 신기합니다.

 

앞으로도 코딩할 때 chatGPT를 많이 활용하게 될 것 같습니다.

 

 

 

반응형