Intro to Data Science
  • Home
  • Introduction
    • Overview
    • Two Cultures
    • Causal Inference
  • Python Basics
    • Python Setup
    • NumPy & pandas
    • Data Inspection
    • Subsetting
  • EDA
    • Visualize
    • Explore
    • Wrangling
  • Linear Models
    • Model Basics
    • Implementations
    • Regression Analysis
  • ML Basics
    • Introduction
    • Regularization
    • Implementations
    • K-Nearest Neighbors
  • Classification
    • Logistic Regression
    • Generative Models
  • Trees

Python 설정

  • Welcome

  • Introduction
    • Overview
    • Two Cultures
    • Causal Inference

  • Python Basics
    • Python Setup
    • NumPy & pandas
    • Data Inspection
    • Subsetting

  • Exploratory Data Analysis
    • Visualize
    • Explore
    • Wrangling

  • Linear Models
    • Model Basics
      • Implementations
    • Regression Analysis

  • Machine Learning Basics
    • Introduction
    • Regularization
      • Implementations
    • K-Nearest Neighbors
  • Classification
    • Logistic Regression
    • Generative Models
  • Tree-based Models

  • Communicate
    • Ask

On this page

  • 클라우드 환경
  • 로컬 환경
    • Miniconda 설치
    • Conda Environment
    • 환경(activated) 내에서 패키지 설치 및 제거
  • Visual Studio Code
    • VS Code 설치
    • Extensions
    • Preferences
    • Shortcuts
    • 그 외
    • VS Code내에서 terminal 사용
  • Jupyter Notebook/Lab
  • Python Packages, Modules, Functions

Python 설정

Mixed

Author

Sungkyun Cho

Published

May 13, 2025

데이터 사이언스를 위한 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:
pd.read_csv("drive/MyDrive/...")
  • 패키지 업데이트
!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가 설치된 것
Shell(Command Line Interface)에 대한 팁

Mac의 경우: 기본 terminal을 이용하되 기본 zsh shell 대신 다음 Oh-My-Zsh을 추천
Oh-My-Zsh!: 링크

Windows의 경우: Windows Terminal 추천

  • 설치 링크는 구글링…
  • 명령프롬프트(CMD) vs. Powershell
  • Powershell에서 conda를 사용하기 위해서는 몇 가지 설정 필요: 블로그 링크
  • 잘 안될 경우, conda 설치시 함께 설치되는 응용프로그램 콘다 powershell을 이용
# Terminal (Mac) or Miniconda Powershell Prompt (Windows)

(base)> conda info # 콘다 정보 
(base)> conda update conda # 콘다 업데이트

Conda Environment

conda/user guide

환경 생성: 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) 내에서 패키지 설치 및 제거

패키지 repository(channel) 선택

conda/managing channels

다음을 통해 .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 statsmodels

Visual 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 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
두 개 이상의 함수/모듈을 import하거나 as로 별칭 지정 가능
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)

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)  # 모듈 안에 정의된 함수들
NumPy & pandas

This work © 2024 by Sungkyun Cho is licensed under CC BY-NC-SA 4.0