6 minute read

이 글은 「생성형 AI로 시작하는 데이터 분석」 9회 연재 중 7회입니다. 전체 목차 보기

안녕하세요, 헬로데이터사이언스 나성호입니다.

지난 6회차까지는 생성형 AI에게 일을 잘 시킬 수 있도록 좋은 프롬프트 작성하는 법에 대해 집중적으로 다뤘습니다. 오늘은 잠깐 방향을 바꿔서, 실습에 필요한 최소한의 도구인 Python과 Colab을 소개해드리려고 합니다.

이 시리즈의 전제는 “Python 코드를 한 줄도 몰라도 된다”는 것입니다. 왜냐하면 코드는 생성형 AI가 대신 써줄 거니까요. 하지만 생성형 AI가 작성한 코드를 직접 실행해보면서 결과물이 내가 원하는 것과 일치하는지 눈으로 확인해봐야 합니다. 이번 7회차에서는 딱 그 정도만 다루겠습니다.

Python은 어떤 언어일까요

Python은 네덜란드 출신의 컴퓨터 프로그래머인 귀도 반 로섬(Guido van Rossum)이 1991년에 발표한 프로그래밍 언어입니다. 귀도는 이후 Google, Dropbox, Microsoft를 거치며 개발자로 활동했습니다.

Python의 시작은 1989년 12월로 거슬러 올라갑니다. 당시 크리스마스 시즌이라 암스테르담의 연구소 사무실이 문을 닫자, 귀도는 집에 있는 컴퓨터로 예전부터 구상하던 새로운 스크립트 언어의 인터프리터를 작성하기 시작했고, 이것이 훗날 Python으로 발전했습니다.

Python이라는 이름은 당시 귀도가 좋아하던 코미디 쇼였던 “Monty Python’s Flying Circus”에서 따온 것입니다(Python은 그리스 신화에 나오는 큰 뱀을 뜻하는 단어입니다).

Python은 프로그래밍 언어 인기 순위에서 현재 부동의 1위입니다1. 범용 목적으로 개발된 언어지만, 최근에는 데이터 분석과 머신러닝, 딥러닝 분야에서 특히 많이 쓰입니다.

Python의 특징은 이렇습니다. 영어 문장처럼 읽히는 문법을 지향하기 때문에 사람이 생각하는 방식으로 프로그래밍할 수 있고, 문법 구조가 단순해 상대적으로 진입 장벽이 낮습니다(그렇다고 처음부터 술술 읽히진 않습니다. 초심자는 개념을 이해하는 데 상당한 학습 시간이 필요합니다). 오픈소스라서 수많은 서드파티 라이브러리를 공짜로 쓸 수 있다는 것도 큰 장점입니다.

그래도 Excel이 편한 것도 사실입니다

Python은 만능이 아닙니다. Excel과 비교해보면 각자 장단점이 뚜렷합니다.

구분
Excel
Python
장점 복잡한 프로그래밍 지식이 필요 없고, 시각적으로 표현하기 쉬움 대량의 데이터를 효과적으로 처리하고, 반복 작업 자동화가 쉬움
단점 대량의 데이터 처리와 복잡한 분석에 제한이 있음 프로그래밍 지식이 필요하고, 초기 환경 설정이 어려울 수 있음

바로 이 지점에서 생성형 AI가 힘을 발휘합니다. “프로그래밍 지식이 필요하다”는 Python의 가장 큰 진입 장벽을, AI가 코드를 대신 써주는 방식으로 낮춰주기 때문입니다.

Colab — 설치 없이 바로 시작하는 방법

Python을 사용하려면 컴퓨터에 Python을 설치해야 하는데, 이 과정이 초심자에게는 꽤나 큰 장벽으로 다가옵니다. 그래서 이 시리즈에서는 Python 실습을 위해 Google Colab을 사용합니다. Colab은 Google이 웹 브라우저에서 Python 스크립트를 작성하고 실행할 수 있도록 개발한 온라인 에디터입니다(Colaboratory의 줄임말입니다). Google 계정만 있으면 별도 설치 없이 Colab을 사용할 수 있습니다. 물론 다른 방식으로 Python을 사용하고 있는 분들은 본인이 편한 방법으로 실습하시면 됩니다.

Colab 사용법은 아주 간단합니다.

  1. Chrome에서 Google에 로그인한 상태로 Colab을 검색합니다.
  2. 검색 결과 중에서 colab.research.google.com을 클릭하여 Colab에 접속합니다.
  3. ’+ 새 노트’ 버튼을 클릭하면 새 탭에서 Jupyter Notebook(Untitled0.ipynb)이 열립니다.
  4. Colab에서 코드나 텍스트를 입력하는 부분을 셀(Cell)이라고 부릅니다. 셀의 위/아래 경계에 마우스를 가져다 놓으면 ‘+ 코드’와 ‘+ 텍스트’ 버튼이 나타납니다.
  5. 코드 셀에 print('hello world!')같이 Python 코드를 입력하고, 셀 왼쪽에 있는 삼각형(▶) 버튼을 클릭하거나 shift + enter를 누르면 코드가 실행됩니다.

다만 두 가지는 기억해두시기 바랍니다. 먼저 Python 코딩 실습을 시작하려면 화면 오른쪽 상단에 있는 ‘연결’ 버튼을 눌러 런타임에 연결해야 합니다. 그리고 런타임이 초기화되면 기존에 작성한 코드는 사라지지 않지만, 코드 실행 중에 생성된 변수와 추가로 설치한 패키지, 업로드한 파일은 사라집니다.

내 데이터를 Colab으로 가져오기 — 구글 드라이브 마운트

Python 코드 실습을 진행하면서 내 데이터 파일(csv 등)을 읽으려면, 파일이 있는 곳을 Colab에 연결해야 합니다. 이때 쓰는 게 구글 드라이브 마운트입니다.

# 필요한 모듈을 임포트합니다.
from google.colab import drive

# 구글 드라이브에 연결합니다.
drive.mount(mountpoint='/content/drive')

이 코드를 실행하면 팝업이 뜨는데, ‘Google Drive에 연결’ 버튼을 클릭하고 구글 계정을 선택한 뒤 액세스 권한을 허용하면 연결이 완료됩니다. 그러고 나서 다음 코드로 실습용 폴더를 새로 만들 수 있습니다.

# os 라이브러리를 임포트합니다.
import os

# 폴더 경로를 path에 할당합니다.
path = '/content/drive/MyDrive/workspace'

# 구글 드라이브에 새 폴더를 생성합니다.
os.makedirs(name=path, exist_ok=True)

여기까지 잘 따라오셨다면 여러분의 구글 드라이브에 workspace라는 폴더가 생성되었을 겁니다. 이제 실습 파일인 customer_churn.csv를 내려받아 workspace에 업로드합니다.

customer_churn.csv 다운로드

그다음 아래 코드를 실행해 작업 경로를 workspace로 바꿉니다2. 콘솔(셀 아래 부분)에 customer_churn.csv가 출력되면 데이터 파일을 읽을 준비가 끝난 것입니다.

# 작업 경로를 변경합니다.
os.chdir(path=path)

# 현재 작업 경로에 있는 폴더와 파일 목록을 확인합니다.
sorted(os.listdir())

구글 드라이브에 실습 파일을 저장해두면 Colab 런타임이 초기화되어도 파일은 그대로 남아 있습니다. 그래서 파일을 읽어야 할 때마다 구글 드라이브에 연결하는 코드만 실행하면 언제든 데이터 파일을 읽을 수 있습니다. (단, 파일을 직접 삭제했거나 저장 공간이 부족해지면 파일이 사라질 수 있습니다.)

실제 강의를 진행하다 보면, 이 마운트 단계에서 유독 많이 막힙니다. Python을 처음 접하시는 분들은 “이 코드가 왜 필요한지” 자체가 잘 와닿지 않으실 텐데요, 그도 그럴 것이 지금 실행 중인 Colab은 내 컴퓨터가 아니라 구글의 원격 컴퓨터(Virtual Machine)입니다. 그러니 그 컴퓨터 입장에서는 “내 구글 드라이브”라는 게 애초에 존재하지 않고, 마운트라는 절차를 거쳐야 비로소 “내 드라이브의 이 폴더를 봐도 좋다”고 허락해주는 셈입니다. 그리고 바로 이 지점 때문에 생성형 AI에게 코드를 받아 쓰실 때도 주의가 필요합니다. 생성형 AI는 여러분의 구글 드라이브 안에 폴더가 실제로 어떻게 생겼는지 볼 수 없어서, 경로를 그냥 /content/drive/MyDrive/data처럼 그럴듯하게 짐작해서 알려줍니다. 실습 시간에 이 경로를 그대로 복사해서 쓰다가 FileNotFoundError를 만나고, 왜 안 되는지 모른 채 같은 코드를 반복해서 실행해보시는 분들을 정말 많이 봤습니다. 이럴 땐 sorted(os.listdir())로 지금 경로에 실제로 어떤 파일이 있는지 먼저 눈으로 확인하시는 습관을 들이시면, 이런 시행착오를 크게 줄이실 수 있습니다.

Python 기초 문법, 딱 이 정도만 알아두세요

데이터 분석을 위한 Python 기초 문법은 이 정도 범위를 주로 다룹니다. 지금 당장 모두 외우실 필요는 없고, “이런 게 있구나” 정도로만 훑어보시면 됩니다.

  • 변수와 객체: 객체 지향 프로그래밍의 특징
  • 단순 자료형: 정수, 실수, 문자열, 부울
  • 복합 자료형: 리스트, 튜플, 집합, 딕셔너리
  • 조건문: if, 삼항 연산자
  • 반복문: for, while, 리스트 컴프리헨션
  • 함수: def, lambda
  • 클래스: class

아마도 이 문법들을 직접 외워서 쓰실 일은 거의 없을 겁니다. 생성형 AI가 코드를 다 써주기 때문입니다. 다만 AI가 써준 코드를 읽었을 때 “아, 이게 반복문이구나”, “이건 조건을 거는 거구나”같이 판단할 수 있는 정도면 충분합니다.

데이터프레임 — 앞으로 가장 자주 만날 자료구조

Python으로 데이터 분석을 할 때 가장 많이 사용하는 자료구조가 데이터프레임(DataFrame)입니다. 쉽게 Excel 스프레드시트를 떠올리시면 됩니다. 여러 개의 열이 나란히 결합된 표 형태의 2차원 자료구조입니다.

# pandas 라이브러리를 임포트합니다.
import pandas as pd

# customer_churn.csv 파일을 읽고 데이터프레임을 df에 할당합니다.
df = pd.read_csv(filepath_or_buffer='customer_churn.csv')
# df의 처음 5행을 확인합니다.
df.head()
# df의 정보를 확인합니다.
# [참고] info 메서드는 df의 행 개수, 열 개수, 열 이름, 열별 자료형을 콘솔에 출력합니다.
df.info()

여기서 초심자분들이 자주 걸려 넘어지는 지점을 하나 짚고 가겠습니다. Colab(Jupyter Notebook)은 한 셀에서 마지막 줄의 결과만 화면에 보여줍니다. 그래서 위 코드를 셀 하나에 몰아넣으면 df.head() 결과는 나오지 않고 df.info() 결과만 출력됩니다. 코드 블록마다 셀을 따로 만들어 하나씩 실행하시거나, 굳이 한 셀에서 보고 싶다면 display(df.head())처럼 감싸주셔야 합니다.

데이터프레임의 세로줄을 열(Column), 가로줄을 행(Row)이라고 부릅니다. 열은 변수·특성·속성이라고도 부르고, 행은 관측값·레코드·사례라고도 부릅니다. 그리고 행과 열이 만나는 각 칸을 셀(Cell), 그 안에 담긴 값을 셀 값 또는 원소라고 부릅니다.

참고로 xlsx 파일과 csv 파일은 장단점이 조금 다릅니다. xlsx는 날짜·시간 서식을 유지해서 편리하지만 입출력 속도가 느립니다. csv는 입출력 속도가 매우 빠르지만, 문자 인코딩 방식이 안 맞으면 에러가 발생할 수 있고 날짜·시간형 데이터가 그냥 문자로 읽힐 수 있습니다.

데이터가 깨끗한지 확인하는 법

데이터를 불러왔으면, 본격적인 분석에 들어가기 전에 데이터가 얼마나 정합한지 확인해야 합니다. 아래 네 가지도 마찬가지로 각각 별도의 셀에 넣고 하나씩 실행하셔야 결과를 모두 확인할 수 있습니다.

# df의 열별 결측값 개수를 확인합니다.
df.isna().sum()
# df의 연속형 변수별 기술통계량을 확인합니다.
# [참고] 열별 결측이 아닌 개수, 평균, 표준편차, 최솟값, 사분위수, 최댓값을 차례대로 콘솔에 출력합니다.
df.describe()
# df의 범주형 변수별 기술통계량을 확인합니다.
# [참고] 열별 결측이 아닌 개수, 고유값 개수, 최빈값 및 최빈값의 도수를 차례대로 콘솔에 출력합니다.
df.describe(include=object)
# df의 완전 중복 행 개수를 확인합니다.
# [참고] 완전 중복이란 각 행의 모든 원소가 완전하게 일치하는 행을 의미합니다.
df.duplicated().sum()

위에서 언급된 기술통계(Descriptive Statistics)는 데이터의 주요 특징을 빠르게 파악할 때 쓰는 값들입니다. 크게 세 종류로 나뉩니다.

  • 중심위치(대푯값): 데이터가 어디에 몰려 있는지 — 평균, 절사평균, 중위수, 최빈값
  • 상대위치(분위수): 어떤 값이 전체에서 어디쯤인지 — 최솟값, 최댓값, 사분위수, 십분위수, 백분위수
  • 변동성(산포): 개별 데이터가 얼마나 퍼져 있는지 — 범위, 사분범위, 분산, 표준편차, 변동계수, 중위수절대편차

오늘 이야기 정리

오늘은 Python이 뭔지, Colab을 어떻게 쓰는지, 구글 드라이브를 어떻게 연결하는지, 그리고 데이터프레임과 기술통계의 기본 개념까지 훑어봤습니다. 딱 이 정도만 알고 계시면, 다음 실습부터는 충분히 따라오실 수 있습니다.

다음 실습 편에서는 진짜 실전입니다. 오늘 준비한 도구(Python, Colab, 데이터프레임 개념)를 가지고, 6회차에서 소개해드린 두 개의 맞춤형 GPT를 활용해 두 가지 더미 데이터를 처음부터 끝까지 분석해보는 과정을 별도로 이어가겠습니다. 감사합니다.

  1. PYPL PopularitY of Programming Language Index — 구글에서 각 언어의 튜토리얼이 얼마나 검색되는지를 기준으로 집계하는 지수입니다. 순위·점유율은 매달 바뀌므로 정확한 수치는 방문 시점의 사이트를 직접 확인해주세요. 확인일: 2026-08-02 

  2. 부연설명을 하자면 작업 경로를 변경하지 않아도 데이터 파일을 읽는 함수에 경로명과 파일명을 결합한 문자열을 지정하는 방식으로 코딩하는 것도 가능합니다. 다만 예제 코드는 Python 초심자에게 중간 과정을 시각적으로 보여주면서, 동시에 최대한 간결하게 코딩하려는 목적으로 설계된 것임을 밝힙니다. 

Updated:

Comments