반응형
데이터를 다루다 보면 칼럼 내 문자열 처리를 해야 하는 경우가 있습니다.
예를 들어 데이터베이스에 숫자 데이터를 insert할때 콤마(,)때문에 데이터가 문자열로 인식되어 오류를 뱉는 상황 등입니다. 이 경우 콤마를 빈값으로 수정해 주어야 숫자로 옳게 인식합니다.
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를 많이 활용하게 될 것 같습니다.
반응형
'Programming for trading' 카테고리의 다른 글
[Python] 바이낸스API로 비트코인 1분봉 가져오기 (0) | 2023.01.19 |
---|---|
[Python] 업비트API로 비트코인 1분봉 가져오기 (0) | 2023.01.17 |
[Python] OpenAPI로 주식 영업일, 휴장일 구하기 (0) | 2022.12.31 |
[Python] 데이터프레임 차집합 구하기 (0) | 2022.12.30 |
[Python] 삼성전자 PER, PBR 웹크롤링 (0) | 2022.12.20 |