초보자를 위한 완벽 가이드: 주피터 노트북 완전 정복 mymaster, 2024년 07월 03일 인터넷 세상, 특히 프로그래밍의 세계에 발을 들여놓았다면 주피터 노트북(Jupyter Notebook)이라는 이름을 한 번쯤은 들어보셨을 겁니다. 데이터 과학, 프로그래밍 학습, 복잡한 계산 수행 등 다양한 분야에서 활용되는 강력한 도구이죠. 하지만 컴퓨터 초보자에게는 이러한 설명이 여전히 어렵게 느껴질 수 있습니다. “주피터 노트북이 뭔가 대단한 건 알겠는데, 도대체 어떻게 사용하는 거야?”라는 궁금증을 가진 분들을 위해 이 글을 준비했습니다. 이 글을 통해 주피터 노트북의 기초부터 활용법까지 차근차근 알려드리겠습니다. 자, 이제 막막함은 잠시 접어두고, 주피터 노트북의 세계로 함께 떠나볼까요? 1. 주피터 노트북: 마법 같은 프로그래밍 공간의 시작 1.1 주피터 노트북이란 무엇일까요? 주피터 노트북은 코드를 작성하고 실행하고, 그 결과를 바로 확인할 수 있는 웹 기반의 인터랙티브한 개발 환경입니다. 마치 요리 레시피처럼 단계별로 코드를 작성하고 실행하고, 그때그때 필요한 설명이나 그림을 추가할 수 있는 디지털 요리책과 같습니다. 예를 들어, 복잡한 수학 공식을 풀어야 한다고 가정해 보겠습니다. 전통적인 프로그래밍 방식에서는 코드 전체를 한 번에 작성하고 실행해야 했습니다. 하지만 주피터 노트북을 사용하면 코드를 작은 조각(셀)으로 나누어 작성하고, 각 조각을 개별적으로 실행하여 결과를 바로 확인할 수 있습니다. 마치 계산 과정을 하나씩 적어가며 검토하는 것과 같죠. 이처럼 주피터 노트북은 코드 작성과 실험을 위한 직관적이고 효율적인 환경을 제공합니다. 1.2 주피터 노트북은 왜 이렇게 인 popularity 할까요? 주피터 노트북은 데이터 과학자, 연구자, 프로그래머들 사이에서 폭넓은 인기를 누리고 있습니다. 그 이유는 무엇일까요? 주피터 노트북의 매력은 다음과 같습니다. 쉬운 접근성: 웹 브라우저만 있으면 어디서든 주피터 노트북을 사용할 수 있습니다. 별도의 프로그램 설치 없이, 인터넷 연결만 가능하다면 어떤 컴퓨터에서든 작업을 이어갈 수 있다는 장점이 있습니다. 마치 클라우드 서비스처럼요. 코드, 설명, 결과를 한눈에: 주피터 노트북에서는 코드, 설명 텍스트, 이미지, 그래프 등을 하나의 문서에 담을 수 있습니다. 마치 과학 보고서처럼 말이죠. 이는 코드의 각 부분이 어떤 역할을 하는지 쉽게 이해하고, 분석 결과를 효과적으로 전달하는 데 도움이 됩니다. 다양한 프로그래밍 언어 지원: Python, R, Julia 등 데이터 과학 분야에서 널리 사용되는 언어들을 지원합니다. 하나의 노트북에서 여러 언어를 섞어 사용할 수도 있습니다. 마치 여러 나라 언어로 쓰인 여행 책자처럼요! 1.3 주피터 노트북은 어디에 활용될까요? 주피터 노트북은 다양한 분야에서 그 진가를 발휘합니다. 몇 가지 대표적인 활용 사례를 살펴보겠습니다. 데이터 분석 및 시각화: 데이터 분석 라이브러리(Pandas, NumPy)를 활용하여 데이터를 분석하고, matplotlib, seaborn 등을 사용하여 분석 결과를 보기 쉬운 그래프로 시각화할 수 있습니다. 주피터 노트북은 이러한 작업 과정을 순차적으로 기록하고 공유하기에 최적의 환경을 제공합니다. 기계 학습 모델 개발: Scikit-learn, TensorFlow, PyTorch 등의 라이브러리를 사용하여 기계 학습 모델을 개발하고 실험하는 데 유용합니다. 각 단계별 결과를 즉시 확인하고 모델을 개선해나가는 과정이 훨씬 수월해집니다. 교육 및 문서화: 주피터 노트북은 프로그래밍 교육 자료를 제작하거나, 코드 예제와 함께 설명을 덧붙여 이해를 돕는 데 유용합니다. 복잡한 코드를 쉽게 설명하고, 실습 환경을 제공하는 데 효과적인 도구입니다. 2. 주피터 노트북 설치: 꿈을 펼치기 위한 첫걸음 주피터 노트북을 사용하려면 먼저 컴퓨터에 설치해야 합니다. 가장 쉬운 방법은 아나콘다(Anaconda) 배포판을 설치하는 것입니다. 아나콘다는 데이터 과학에 필요한 라이브러리들을 미리 패키지 형태로 모아놓은 도구 모음과 같습니다. 마치 요리에 필요한 재료들을 한 상자에 담아 놓은 밀키트처럼 말이죠. 2.1 아나콘다 설치하기 아나콘다 공식 웹사이트 접속: 웹 브라우저를 열고 아나콘다 공식 웹사이트(https://www.anaconda.com/)에 접속합니다. 운영체제에 맞는 설치 파일 다운로드: 사용 중인 운영체제(Windows, macOS, Linux)에 맞는 아나콘다 설치 파일을 다운로드합니다. 설치 파일 실행: 다운로드한 설치 파일을 실행하고 화면에 나타나는 안내에 따라 설치를 진행합니다. 대부분의 경우, 기본 설정을 유지하고 “다음” 버튼을 클릭하면 됩니다. 설치 과정은 컴퓨터 사양에 따라 다소 시간이 소요될 수 있습니다. 설치 완료: 설치가 완료되면 “마침” 버튼을 클릭합니다. 이제 컴퓨터에 아나콘다가 성공적으로 설치되었습니다. 2.2 아나콘다 네비게이터(Anaconda Navigator)를 이용한 주피터 노트북 실행 아나콘다 네비게이터 실행: 윈도우의 시작 메뉴 또는 macOS의 Applications 폴더에서 Anaconda Navigator를 찾아 실행합니다. 주피터 노트북 실행: Anaconda Navigator 홈 화면에서 Jupyter Notebook 아이콘을 찾아 “Launch” 버튼을 클릭합니다. 새로운 노트북 생성: Jupyter Notebook이 웹 브라우저에서 실행됩니다. 새로운 노트북을 생성하려면 오른쪽 상단의 “New” 버튼을 클릭하고 “Python 3″을 선택합니다. 이제 주피터 노트북을 사용할 준비가 완료되었습니다! 3. 주피터 노트북 기본 사용법: 마법 지팡이 다루기 주피터 노트북은 크게 셀(Cell)과 커널(Kernel)로 구성됩니다. 셀: 코드를 작성하고 실행하는 공간입니다. 코드 셀은 Python 코드를 작성하는 공간이고, 마크다운 셀은 텍스트, 이미지, 수식 등을 입력하여 문서를 작성하는 공간입니다. 커널: 셀에서 실행되는 코드를 해석하고 실행하는 엔진입니다. 주피터 노트북은 다양한 프로그래밍 언어를 지원하며, 각 언어에 맞는 커널을 사용해야 합니다. 3.1 셀(Cell) 다루기: 코드 작성의 마법 셀 유형 변경: 셀은 기본적으로 “코드” 유형으로 생성되지만, “마크다운” 유형으로 변경하여 텍스트를 입력할 수 있습니다. 셀 유형은 툴바의 드롭다운 메뉴에서 선택하거나, 단축키 Esc + M(마크다운), Esc + Y(코드)를 사용하여 변경할 수 있습니다. 코드 실행: 셀에 코드를 작성한 후, Shift + Enter 키를 누르거나 툴바의 “Run” 버튼을 클릭하여 코드를 실행합니다. 실행 결과는 셀 아래에 표시됩니다. 셀 추가 및 삭제: 새로운 셀을 추가하려면 툴바의 “+” 버튼을 클릭하거나 단축키 Esc + A(위에 추가), Esc + B(아래에 추가)를 사용합니다. 셀을 삭제하려면 툴바의 “가위” 버튼을 클릭하거나 단축키 Esc + D + D(두 번 입력)를 사용합니다. 셀 이동: 셀 사이를 이동하려면 화살표 키를 사용하거나 마우스로 클릭합니다. 3.2 커널(Kernel) 다루기: 마법의 힘 제어하기 커널 재시작: 코드 실행 중 문제가 발생하거나 메모리를 초기화하려면 커널을 재시작해야 합니다. 툴바의 “Restart” 버튼을 클릭하거나 메뉴에서 “Kernel” > “Restart”를 선택합니다. 커널 변경: 다른 프로그래밍 언어를 사용하려면 해당 언어에 맞는 커널로 변경해야 합니다. 메뉴에서 “Kernel” > “Change kernel”을 선택하고 원하는 언어를 선택합니다. 4. 주피터 노트북 활용 마법: 데이터 분석의 마법 구현 주피터 노트북은 데이터 분석, 시각화, 머신 러닝 등 다양한 분야에서 활용될 수 있습니다. 4.1 데이터 분석 마법 주문: Pandas Pandas는 데이터 분석 라이브러리이며, 주피터 노트북에서 데이터를 효율적으로 처리하고 분석할 수 있도록 도와줍니다. 데이터 불러오기: pandas 라이브러리를 불러온 후, read_csv(), read_excel() 등의 함수를 사용하여 CSV, Excel 파일 등 다양한 형식의 데이터를 불러올 수 있습니다. import pandas as pd data = pd.read_csv('data.csv') 데이터 탐색: head(), tail(), info(), describe() 등의 함수를 사용하여 데이터의 기본 정보를 확인하고 탐색할 수 있습니다. # 데이터의 첫 5행 미리보기 print(data.head()) # 데이터의 기본 정보 출력 print(data.info()) 데이터 선택 및 필터링: 특정 열, 행 또는 조건에 맞는 데이터를 선택하고 필터링할 수 있습니다. # 'age' 열 선택 age_data = data['age'] # 'age'가 30 이상인 데이터 선택 filtered_data = data[data['age'] >= 30] 데이터 정렬: 특정 열의 값을 기준으로 데이터를 오름차순 또는 내림차순으로 정렬할 수 있습니다. # 'age'를 기준으로 오름차순 정렬 sorted_data = data.sort_values(by='age') 데이터 그룹화: 특정 기준에 따라 데이터를 그룹화하고, 그룹별로 통계량을 계산하거나 시각화할 수 있습니다. # 'gender' 그룹 별 'age' 평균 계산 grouped_data = data.groupby('gender')['age'].mean() 4.2 데이터 시각화 마법 주문: Matplotlib Matplotlib은 데이터 시각화 라이브러리이며, 주피터 노트북에서 그래프를 그려 데이터를 시각적으로 표현할 수 있도록 도와줍니다. 라이브러리 임포트: matplotlib.pyplot 모듈을 임포트합니다. import matplotlib.pyplot as plt 그래프 그리기: plot(), scatter(), bar(), hist() 등 다양한 함수를 사용하여 선 그래프, 산점도, 막대 그래프, 히스토그램 등 다양한 종류의 그래프를 그릴 수 있습니다. # 선 그래프 그리기 plt.plot(data['year'], data['sales']) plt.xlabel('Year') plt.ylabel('Sales') plt.title('Sales Trend') plt.show() 그래프 꾸미기: title(), xlabel(), ylabel(), legend() 등의 함수를 사용하여 그래프 제목, 축 레이블, 범례 등을 추가하여 그래프를 꾸밀 수 있습니다. plt.scatter(data['age'], data['income'], c=data['gender'], cmap='viridis') plt.xlabel('Age') plt.ylabel('Income') plt.title('Income by Age and Gender') plt.colorbar(label='Gender') plt.show() 4.3 마법 주문 조합: Pandas + Matplotlib Pandas와 Matplotlib을 함께 사용하면 데이터 분석 결과를 효과적으로 시각화할 수 있습니다. import pandas as pd import matplotlib.pyplot as plt # 데이터 불러오기 data = pd.read_csv('sales_data.csv') # 월별 판매량 합계 계산 monthly_sales = data.groupby('Month')['Sales'].sum() # 막대 그래프 그리기 monthly_sales.plot(kind='bar') plt.xlabel('Month') plt.ylabel('Total Sales') plt.title('Monthly Sales Trend') plt.show() 5. 주피터 노트북 단축키: 마법 지팡이 더 빠르게 휘두르기 주피터 노트북에는 작업 속도를 높여주는 다양한 단축키들이 있습니다. 자주 사용하는 단축키들을 익혀두면 더욱 효율적으로 작업할 수 있습니다. 5.1 기본 단축키: 마법 지팡이의 기본 조작 단축키 기능 모드 Enter 현재 셀 편집 모드 진입 명령 Esc 현재 셀 명령 모드 전환 편집 Shift + Enter 셀 실행 및 아래에 새 셀 추가 명령 Ctrl + Enter 셀 실행 명령 Alt + Enter 셀 실행 및 아래에 새 셀 추가 명령 A 위에 새 셀 추가 명령 B 아래에 새 셀 추가 명령 D + D 현재 셀 삭제 (두 번 입력) 명령 Z 삭제된 셀 복원 명령 Y 셀 유형을 코드로 변경 명령 M 셀 유형을 마크다운으로 변경 명령 ↑ 위 셀로 이동 명령 ↓ 아래 셀로 이동 명령 5.2 편집 모드 단축키: 마법 주문 수정의 달인 단축키 기능 Ctrl + A 전체 선택 Ctrl + C 복사 Ctrl + V 붙여넣기 Ctrl + X 잘라내기 Ctrl + Z 실행 취소 Ctrl + Shift + Z 다시 실행 Ctrl + ] 선택된 코드 들여쓰기 Ctrl + [ 선택된 코드 내어쓰기 Ctrl + / 선택된 줄 주석 처리/해제 5.3 명령 모드 단축키: 마법 지팡이로 셀 다루기 단축키 기능 Shift + M 선택된 셀 아래 셀과 병합 Ctrl + Shift + - 현재 셀 분할 L 라인 번호 표시/숨기기 6. 주피터 노트북 확장 기능: 마법 지팡이에 새로운 힘 부여 주피터 노트북의 기능을 확장하고 싶다면 확장 기능(Extension)을 사용할 수 있습니다. 확장 기능은 주피터 노트북의 기능을 향상시키는 추가적인 도구입니다. 마치 마법 지팡이에 새로운 보석을 박아 더욱 강력한 힘을 부여하는 것과 같습니다. 6.1 확장 기능 설치 nb extensions 패키지 설치: 주피터 노트북 환경에서 다음 명령어를 실행하여 nb extensions 패키지를 설치합니다. pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user Jupyter Notebook 재시작: 설치가 완료되면 주피터 노트북을 재시작합니다. 6.2 유용한 확장 기능 소개 Table of Contents (2): 긴 노트북에 목차를 자동으로 생성하여 탐 목차 Toggle 1. 주피터 노트북: 마법 같은 프로그래밍 공간의 시작1.1 주피터 노트북이란 무엇일까요?1.2 주피터 노트북은 왜 이렇게 인 popularity 할까요?1.3 주피터 노트북은 어디에 활용될까요?2. 주피터 노트북 설치: 꿈을 펼치기 위한 첫걸음2.1 아나콘다 설치하기2.2 아나콘다 네비게이터(Anaconda Navigator)를 이용한 주피터 노트북 실행3. 주피터 노트북 기본 사용법: 마법 지팡이 다루기3.1 셀(Cell) 다루기: 코드 작성의 마법3.2 커널(Kernel) 다루기: 마법의 힘 제어하기4. 주피터 노트북 활용 마법: 데이터 분석의 마법 구현4.1 데이터 분석 마법 주문: Pandas4.2 데이터 시각화 마법 주문: Matplotlib4.3 마법 주문 조합: Pandas + Matplotlib5. 주피터 노트북 단축키: 마법 지팡이 더 빠르게 휘두르기5.1 기본 단축키: 마법 지팡이의 기본 조작5.2 편집 모드 단축키: 마법 주문 수정의 달인5.3 명령 모드 단축키: 마법 지팡이로 셀 다루기6. 주피터 노트북 확장 기능: 마법 지팡이에 새로운 힘 부여6.1 확장 기능 설치6.2 유용한 확장 기능 소개 post