pd.read_csv("drive/MyDrive/...")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을 통해 작업하는데
- 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> ...수업에 필요한 기본 패키지 설치
# 수업에 필요한 기본 패키지 설치 (conda-forge 채널 선택)
(myenv)> conda install --channel conda-forge jupyter numpy pandas matplotlib seaborn scikit-learn statsmodelsVisual Studio Code
VS Code 설치
- 개인마다 선호하는 text editor가 있으나 본 수업에서는 VS Code로 진행: download and install here
Extensions
- Python
- Python Extension Pack 중
- IntelliCode
- Python Environment Manager
- Jupyter
- 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 myenvJupyter 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 invfrom numpy.linalg import inv as inverse
from numpy.linalg import inv, det
from numpy.linalg import inv as inverse, det as determinantnp.linalg? # 함수에 대한 도움말NumPy 패키지(package)의 linalg 모듈(module)
np.linalg # linalg.py 파이썬 스트립트 파일linalg 모듈 파일 안에 def으로 정의된 함수
np.linalg.inv # 모듈 안에서 def으로 정의된 함수 inv()np.linalg.inv? # 함수에 대한 도움말예를 들어, 행렬의 역행렬을 구하는 함수 inv를 사용하려면
rng = np.random.default_rng(123) # random number generator
x = rng.standard_normal((3, 3)) # 3x3 matrix from standard normal distribution
x어떻게 import하느냐에 따라 다른 방식으로 사용
inv(x) # inverse matrix of x
# inv 함수를 따로 import하지 않은 경우, numpy의 linalg 모듈을 통해 사용
np.linalg.inv(x) # same as above주로 모듈 이름을 함께 쓰는 것이 관례인데,
- 이는 코드의 가독성을 높이고,
- 사용자 정의 함수와의 충돌을 방지하기 위함
모듈 안에 정의된 함수들을 확인하려면: dir() 함수
dir(np.linalg) # 모듈 안에 정의된 함수들