"drive/MyDrive/...") pd.read_csv(
Python 설정
Mixed
데이터 사이언스를 위한 Python 개발 환경
- Python과는 별도로 2001년 Fernando Perez에 의해 개발이 시작된 대화형 IPython (Interactive Python)을 주로 사용
- IPython은 Jupyter(Ju-lia, Py-thon, R) 프로젝트 안에서 발전되었고,
- Jupyter Notebook이라는 코드, 텍스트, 데이터 시각화 및 기타 출력을 위한 대화형 문서로 사용되고 있음
몇 가지 선택지
- Jupyter Notebook/Lab: 웹 브라우저 기반의 대화형 개발 환경
- Visual Studio Code: 통합 개발 환경 (IDE), Python extension을 통해 Jupyter Notebook과 연동 가능
- Google Colab: 클라우드 기반, 구글 드라이브에 통합
- Kaggle Notebook: 클라우드 기반, Kaggle 데이터셋과 연동
- Github Codespace: 클라우드 기반
클라우드 환경
Colab
- 사용법: Colab Welcome
- 클라우드 환경 vs. 구글 드라이브 mount
- Colab AI assistant
- 구글 드라이브의 데이터셋을 import:
- 패키지 업데이트
!pip install --upgrade pandas numpy seaborn matplotlib statsmodels scikit-learn
로컬 환경
Python과 Conda Package Manager
Conda Cheatsheet: 기본적인 conda 명령어 요약
Miniconda 설치
Anaconda보다는 기본 패키지들이 미리 설치되지 않는 miniconda를 추천: miniconda install page
- Windows 경우: 설치시 물어보는 “add Miniconda to your PATH variable” 옵션을 켜고 설치할 것
Shell 사용에 대해서는 아래 Command Line Tool 참고
- Windows 경우: Anaconda의 응용 프로그램으로 등록된
Anaconda Powershell Prompt
를 이용 - Mac의 경우: 기본 terminal을 이용
- 커서 앞에
(base)
가 보이면 conda가 설치된 것
# Terminal (Mac) or Miniconda Powershell Prompt (Windows)
(base)> conda info # 콘다 정보
(base)> conda update conda # 콘다 업데이트
Conda Environment
환경 생성: miniconda에서 자체 제공하는 환경 (다른 가상환경 툴인 pyenv
나 venv
도 있음)
(base)> conda create --name myenv # --name 대신 -n으로 축약 가능
# 특정 버전의 파이썬과 함께 설치시
(base)> conda create --name myenv python=3.12
환경 확인
(base)> conda env list
# conda environments:
#
# base */.../miniconda3
# myenv /.../miniconda3/envs/myenv
환경 제거
(base)> conda env remove --name myenv
환경 activate/deactivate
(base)> conda activate myenv
(myenv)> conda deactivate
특정 환경 안의 파이썬 버전 확인
(myenv)> python --version
환경(activated) 내에서 패키지 설치 및 제거
다음을 통해 .condarc
환경파일에 configuration 추가
(base)> conda config --add channels conda-forge
(base)> conda config --set channel_priority strict # 채널 순으로 검색, 버전 순이 아니고
# 개별적으로 채널을 선택해서 install하려면 (특정 환경에 설치하려면 아래 conda environment 참조)
(base)> conda install scipy --channel conda-forge
# pakcage가 있는 채널들
(base)> conda search scipy
# 특정 환경을 activate한 후
# Python을 update하거나 다른 버전을 설치하려면, 가령 3.12으로 업데이트 하려면
(myenv)> conda install python=3.12 # python update
# 패키지 설치
(myenv)> conda install <package name1> <package name2> ...
# 특정한 채널, conda-forge 통한 설치: --channel 대신 -c로 축약 가능
(myenv)> conda install --channel conda-forge <package name>
# 제거
(myenv)> conda remove <package name1> <package name2> ...
# 업데이트
(myenv)> conda update <package name1> <package name2> ...
(myenv)> conda update --all # all packages
# 패키지 리스트 확인
(myenv)> conda list
환경 밖에서 특정 환경 안에 설치하려면 환경 이름 추가
(base)> conda install --name myenv <package name1> # --name 대신 -n으로 축약 가능
pip을 이용한 패키지 설치: conda repository에 없는 패키지들을 설치하는 경우. 충돌의 우려 있음
(myenv)> pip install <package name1> <package name2> ...
수업에 필요한 기본 패키지 설치
# 수업에 필요한 기본 패키지 설치
(myenv)> conda install jupyter numpy pandas matplotlib seaborn scikit-learn statsmodels
Visual Studio Code
VS Code 설치
- 개인마다 선호하는 text editor가 있으나 본 수업에서는 VS Code로 진행: download and install here
Extensions
- Python
- Python Extension Pack 중
- IntelliCode
- Python Environment Manager
- Pylance: 문법 체크, 자동완성, …
- Docs View
- 안 보일시, 설정에서 language server를 default(Pylance)에서 Jedi로 바꾸면 해결
- Copilot…
Preferences
- Themes
- Font, font size (notebook, markup, output)
Shortcuts
Show Command Palette: ctrl(cmd) + shift + p, 또는 F1
Cell 안과 밖에서 다르게 작동
- undo / redo : ctrl(cmd) + z / ctrl(cmd) + shift + z
- move: alt(option) + arrow up/down
- copy : alt(option) + shift + arrow up/down
코드 실행 방식 3가지: ctrl/shift/alt(option) + enter
Help: Keyboard shortcuts reference의 Basic editing 참고
그 외
- interactive mode
- export
- docs view: sticky mode
- variables viewer, data viewer
- formatter: “Black formatter”
- snippets: 구글링…
VS Code내에서 terminal 사용
Terminal: Select Default Profile에서 선택
- Mac: zsh
- Windows: powershell
Jupyter Notebook/Lab
새로 만든 환경을 등록해줘야 함. 환경을 activate한 상태에서
(myenv)> ipython kernel install --user --name=myenv
환경을 삭제해도 등록시킨 kernel 이름은 삭제되지 않으니 직접 삭제.
등록된 커널 리스트를 확인
(myenv)> jupyter kernelspec list
커널 삭제
(myenv)> jupyter kernelspec remove myenv
Jupyter Notebook 또는 lab 실행
Anaconda 응용 프로그램을 이용해 실행하거나,
쉘에서 실행하려면,
# jupytet notebook
(base)> jupyter notebook
# jupyter lab
(base)> jupyter lab
등록한 커널을 선택 후 시작
커널을 종료하려면, 쉘에서 Ctrl-C 두 번
Python Packages, Modules, Functions
Jupyter notebook 파일을 생성: filename.ipynb
import numpy as np
import pandas as pd
from numpy.linalg import inv
from numpy.linalg import inv as inverse
from numpy.linalg import inv, det
from numpy.linalg import inv as inverse, det as determinant
# 함수에 대한 도움말 np.linalg?
NumPy 패키지(package)의 linalg
모듈(module)
# linalg.py 파이썬 스트립트 파일 np.linalg
linalg
모듈 파일 안에 def
으로 정의된 함수
# 모듈 안에서 def으로 정의된 함수 inv() np.linalg.inv
# 함수에 대한 도움말 np.linalg.inv?
예를 들어, 행렬의 역행렬을 구하는 함수 inv
를 사용하려면
= np.random.default_rng(123) # random number generator
rng = rng.standard_normal((3, 3)) # 3x3 matrix from standard normal distribution
x x
어떻게 import
하느냐에 따라 다른 방식으로 사용
# inverse matrix of x
inv(x)
# inv 함수를 따로 import하지 않은 경우, numpy의 linalg 모듈을 통해 사용
# same as above np.linalg.inv(x)
주로 모듈 이름을 함께 쓰는 것이 관례인데,
- 이는 코드의 가독성을 높이고,
- 사용자 정의 함수와의 충돌을 방지하기 위함
모듈 안에 정의된 함수들을 확인하려면: dir()
함수
dir(np.linalg) # 모듈 안에 정의된 함수들