
1. Chat GPT로 프로그래밍 맛보기
- Chat GPT로 프로그래밍 맛보기
프로그래밍이란?
→ '프로그래밍(코딩)'이란 컴퓨터에게 명령을 내려서 무언가를 시키는 것
업무 자동화
→ 사람이 직접 하면 매일 반복적으로 해야 하는 귀찮은 업무를 컴퓨터가 대신 해 주도록 하는 것
데이터 분석
→ 프로그래밍을 통해 데이터를 분석하면 새로운 인사이트를 찾아 의미 있게 활용
→ 예를 들어 어떤 서비스에 대한 데이터 분석을 통해 회사와 서비스를 어떻게 성장시켜야 할지
전략을 짤 수 있다.
- Chat GPT로 파이썬 코드 작성하기
파이썬 코드를 작성해서 아래처럼 * 문자로 5층짜리 트리를 출력
*
**
***
****
*****
Q. Chat GPT에게 아래의 글을 그대로 보여주며 코드를 출력해달라고 하자.
*
**
***
****
*****
이렇게 * 문자로 5층짜리 트리를 출력하는 파이썬 코드를 작성해 줘.

- 구구단 출력하기
→ GPT에게 구구단이 출력되는 코드를 짜달라고 부탁하자.
( 가운데의 점 세 개는 중략을 뜻하며, 실제로는 1단부터 9단까지 총 81줄이 출력 )


- Chat GPT로 업무 자동화하기
→ 바탕화면에 icons라는 새폴더를 만들고 download 폴더 내의 png 파일들을 모두 새로운 폴더로
옮기는 작업을 자동화 해보자.
→ 추가로 모든 이름 앞에 "icon_"가 붙도록 해보자.


→ Desktop 내에 "organize_png.py" 파일을 생성하고, Chat GPT가 생성한 내용을 붙여넣는다.


→ 파일을 실행해보면, Download 폴더 내의 png 파일이 모두 사라졌고,


→ 바탕화면에 가면 icons라는 폴더가 새로 생성된 것을 확인할 수 있고,
그 안에 png 파일들이 전부 옮겨진 것을 확인할 수 있다.
→ 또, 모든 파일 앞에 icon_이라는 단어를 붙여 이름이 변경된 것도 확인할 수 있다.
→ 지금 만든 프로그램의 경우, 요구 사항이 명확하고, 비교적 간단한 프로그램이라 오류없이 잘 작동
그러나 하고 싶은 업무가 조금씩 복잡해질수록 ChatGPT가 잘 동작하는 코드를 써 줄 가능성이
조금씩 낮아진다.
→ GPT가 코드를 짜주더라도 결국은 프로그래밍 공부가 필수적

- Chat GPT로 데이터 분석하기
→ 위와 같이 K드라마, 한국 드라마 데이터 셋이 있을 때,
여기에는 지난 몇 년 동안 방영된 드라마 중 상위 100개가 담여있는 데이터 셋이다.
→ 데이터 셋에는 드라마 제목, 방영을 시작한 연도, 방영 기간, 방영 요일, 에피소드의 수,
방송사, 에피소드 당 길이, 줄거리, 출연진, 장르, 태그, 순위, 평점이 있다

→ 테이블 형태로 엑셀처럼 나타나고 있지만, 사실 파일은 csv 파일로 데이터 사이언스에서 흔히 쓰이는
방식으로 나타난다.
→ Chat GPT에 마찬가지로
[ 너는 지금부터 데이터 사이언티스트야. 내가 부탁하는 대로 파이썬 코드를 써 줘. ]라고
역할을 부여한다.
→ 데이터 셋에 대한 안내를 먼저 해준다.
[ 우선 데이터 셋에 대해 설명을 해줄게. 한국 탑 100 드라마에 대한 데이터 셋이고,
top100_kdrama.csv라는 파일에 있어. 파일의 첫 다섯 줄을 보여 줄게 ] 라고 작성한 뒤
csv 파일의 첫 5줄을 붙여넣기 한다. csv 파일의 첫 줄은 데이터 셋의 컬럼들 즉,
이 데이터 셋에는 어떠한 내용들이 들어 있는지가 나와있다.
[ csv 파일의 첫 줄을 보고 데이터 셋에 어떤 컬럼이 있는지 블릿 포인트 형식으로 알려줘 ] 라고
작성한 뒤 확인해보면

→ 실제로 우리가 확인한 내용과 동일한 내용이 들어 있는지, 들어 있다면 Chat GPT가 내용을 제대로
확인했다는 뜻이 되므로 데이터 셋을 파악했다고 할 수 있다.

→ 데이터 분석에는 정답이 없으므로 Chat GPT에게 어떤 분석을 하면 좋을지 아이디어를 구해보면
이런 식으로 몇 가지 아이디어를 제공해준다.

→ 원하는 내용에 대해 파이썬 코드를 작성해달라고 요청하면 빠르게 코드를 작성해준다.


→ 코드를 복사하여 Jupyter Notebook이라는 데이터 사이언스에서 주로 활용하는 프로그램에 실행시켜
보면 인기 있는 장르 탑 5를 보여준다.

→ 여기서 장르가 여러 장르를 하나의 장르로 인식하고 있기 때문에 Chat GPT에게 이 장르 묶음을
개별적인 장르로 인식해달라고 부탁해보자.

→ 작성해준 코드를 사용하여 다시 실행시켜보면, 원하는 대로 개별적인 장르가 나온다.
→ 결과물을 보면 같은 Drama라는 장르가 두 개로 나타나는데 앞 뒤의 띄어쓰기 여부에 따라
다른 장르로 인식하는 것 같기 때문에 다시 한 번, Chat GPT에게 가이드를 주면

→ 문제로 지적한 부분을 개선하여 원하는 답이 나올 수 있도록 코드를 다시 짜준다.
→ 그 외에도 해당 결과물을 시각적으로 표현하는 코드를 작성해달라고 하거나,
다른 데이터를 분석해 볼 수 있는 코드를 작성해달라고 해도 역시 원하는 결과를 얻을 수 있도록
GPT가 코드를 작성해준다.
- 티셔츠 판매량 분석하기
매장,파란 티셔츠,하얀 티셔츠,검은 티셔츠
A 매장,78,90,63
B 매장,98,50,95
C 매장,93,76,85
D 매장,99,54,65
E 매장,74,72,59
F 매장,74,61,58
G 매장,59,104,59
H 매장,89,78,78
I 매장,56,67,86
J 매장,96,70,95
→ 위와같은 데이터 셋이 있을 때, 티셔츠 총판매량이 많은 순서대로 매장 이름을 한 줄씩 출력해보자.
import pandas as pd
# 데이터 파일 경로
file_path = "data/sales.csv"
# CSV 파일 읽기
df = pd.read_csv(file_path)
# 티셔츠 총 판매량 계산
df["총 판매량"] = df["파란 티셔츠"] + df["하얀 티셔츠"] + df["검은 티셔츠"]
# 총 판매량 기준으로 내림차순 정렬
sorted_df = df.sort_values(by="총 판매량", ascending=False)
# 매장 이름만 출력
for store in sorted_df["매장"]:
print(store)
→ GPT가 직접 짜준 코드는 위와 같다.
J 매장
C 매장
H 매장
B 매장
A 매장
G 매장
D 매장
I 매장
E 매장
F 매장
→ 결과를 출력해보면 다음과 같이 출력된다.