Python

Python에 대하여

monty_python.png

몬티 파이썬이라는 코메디 그룹에서 이름이 비롯되었습니다. 운영체제에 독립적이며, 적절한 인터프리터만 있다면 작동이 가능합니다. 즉, 별도의 번역과정이 없이 소스코드를 실행시점에서 해석하여 컴퓨터가 처리할 수 있도록 하는 언어입니다.
파이썬은 객체지향 언어로 실행 순서가 아닌 단위 모듈을 중심으로 하며, 동적 타이핑 언어로 프로그램이 실행하는 시점에서 프로그램이 사용해야 할 데이터에 대한 타입을 결정합니다.


운영환경 세팅하기

Jupyter Notebook + Collab 운영환경 세팅
Jupyter Notebook는 IPython 커널을 기반으로 한 대화형 파이썬 셸입니다. 설치시 아래 코드는 miniconda를 이용했습니다.

conda install jupyter
jupyter notebook
#http://localhost:8888/tree

Colab은 구글이 개발 클라우드 기반의 jupyter notebook입니다.


Anaconda 가상환경 구축하기 아나콘다는 python 라이브러리를 쉽게 설치하고 관리할 수 있게 해주는 도구입니다. 특히 수학, 과학 분야의 여러 패키지를 모아 두어 데이터 사이언스와 머신 러닝 분야의 python 사용을 지원합니다. 뿐만 아니라 좀 더 쉽게 가상환경을 구축할 수 있게 합니다. 아나콘다 설치시 Jupyter, spyder, NumPy, SciPy, Numba, pandas, DASK, Bokeh, HoloViews, Datashader, matplotlib, scikit-learn, H2O.ai, TensorFlow, Conda와 같은 다양한 라이브러리를 제공합니다.

conda create -n {ENV_NAME} python={PYTHON_VERSION}
conda activate {ENV_NAME}
conda deactivate

가상환경이 활성화되어 있는 경우, 그 경로에 라이브러리가 설치되며, 그 가상환경 하에서 주피터 노트북 또한 실행이 가능합니다.

pip install --upgrade pip
pip install -r requirements-window.txt

jupyter notebook


기초 문법

변수는 프로그래밍에서 값을 저장하는 장소로 메모리 주소를 가지고 있고, 그 안에 값이 할당됩니다. (폰 노이만 아키텍처)

  • 변수명은 알파벳, 숫자, 언더스코어(_)로 선언가능, 대소문자 구분, 예약어는 쓰지 않습니다.

데이터 타입은 integer, float, string, boolean이 있다.


주요 패키지

NumPy
과학 계산을 위한 라이브러리입니다. 행렬, 배열 처리 및 연산 또는 난수생성에 사용됩니다. 기본적인 코드는 다음과 같고 자세한 내용은 링크를 참조해주세요.

import numpy as np

x = [[1,2,3],[3,4,5]]
np.array(x)          # [[1 2 3]
                     #  [3 4 5]]
                        
np.arange(10)        # [0 1 2 3 4 5 6 7 8 9]
np.zeros(2,2)        # [[0. 0.]
                     #  [0. 0.]]
np.full((2,3),5)     # [[5 5 5]
                     #  [5 5 5]]                   
np.eye(2)            # [[1. 0.]
                     #  [0. 1.]]

# 배열 간 연산도 가능합니다                        
a = np.array([1,2,3])
b = np.array([4,5,6])
c = a+b                     # [5 7 9]
# c = np.add(a,b)
s = np.sum(a)               # 6


Pandas
데이터 처리 및 분석 라이브러리입니다. 행과 열로 된 데이터 객체를 만들거나 대용량 데이터를 처리하는데 편리하게 사용됩니다. Series: 1차원, DataFrame: 2차원, Panel: 3차원 자료구조의 종류가 있습니다. 기본적인 코드는 다음과 같고 자세한 내용은 링크를 참조해주세요.

import pandas as pd

  • pandas 라이브러리를 가져옵니다.

pd.DataFrame()

  • 데이터프레임을 생성하는 함수입니다. 데이터를 입력하여 행과 열로 구성된 테이블 형태의 데이터 구조를 만듭니다.

df.head()

  • 데이터프레임의 처음 5개 행을 반환합니다. 괄호 안에 숫자를 지정하여 반환할 행의 개수를 조정할 수 있습니다.

df.shape

  • 데이터프레임의 행과 열의 개수를 반환합니다. (행의 수, 열의 수)의 형태로 반환됩니다.

df.columns

  • 데이터프레임의 열 이름을 반환합니다.

df.info()

  • 데이터프레임의 기본 정보를 요약하여 출력합니다. 열의 데이터 타입, 결측치 여부 등을 확인할 수 있습니다.

df.describe()

  • 데이터프레임의 기술 통계 정보를 출력합니다. 열에 대한 개수, 평균, 표준편차, 최소값, 최대값 등을 제공합니다.

df.isnull()

  • 데이터프레임의 각 요소가 결측치인지 여부를 나타내는 불리언(True/False) 값을 반환합니다.

df.dropna()

  • 결측치가 있는 행을 제거한 데이터프레임을 반환합니다.

df.fillna(value)

  • 결측치를 지정한 값으로 채웁니다. value에는 채워넣을 값을 지정합니다.

df.groupby(column)

  • 지정한 열을 기준으로 데이터를 그룹화합니다. 그룹별로 집계 및 분석을 수행할 수 있습니다.

df.sort_values(column)

  • 지정한 열을 기준으로 데이터를 정렬합니다. 기본적으로 오름차순으로 정렬되며, 내림차순으로 정렬하려면 ascending=False를 설정합니다.

df.merge(df2)

  • 두 개의 데이터프레임을 병합합니다. 공통된 열을 기준으로 데이터를 합칩니다.

df.pivot_table(values, index, columns)

  • 피벗 테이블을 생성합니다. 행과 열을 지정하여 데이터를 요약하고 집계할 수 있습니다.

df.apply(function)

  • 지정한 함수를 데이터프레임에 적용하여 각 열 또는 행에 대한 변환을 수행합니다.


Sklearn
다양한 머신 러닝 알고리즘과 데이터 전처리 기능을 제공합니다. sklearn은 사용하기 쉽고 일관된 API를 통해 데이터셋의 분할, 특성 스케일링, 모델 학습, 평가 등의 작업을 효율적으로 수행할 수 있습니다. 다양한 분류, 회귀, 군집화, 차원 축소 등의 알고리즘을 포함하고 있어 데이터 과학과 머신 러닝에 필수적인 도구입니다.

train_test_split

  • 데이터셋을 학습용과 테스트용으로 나누는 함수입니다.

StandardScaler

  • 데이터를 표준화(평균 0, 표준편차 1)하는 스케일러입니다.

LinearRegression

  • 선형 회귀 모델을 학습하고 예측하는 클래스입니다.

DecisionTreeClassifier

  • 결정 트리 기반의 분류 모델을 학습하고 예측하는 클래스입니다.

RandomForestRegressor

  • 랜덤 포레스트 회귀 모델을 학습하고 예측하는 클래스입니다.

KMeans

  • K-means 클러스터링 알고리즘을 사용하여 클러스터를 할당하는 클래스입니다.

accuracy_score

  • 분류 모델의 정확도를 평가하는 함수입니다.

mean_squared_error

  • 회귀 모델의 평균 제곱 오차를 계산하는 함수입니다.

GridSearchCV

  • 그리드 서치를 통해 모델의 최적 매개변수를 찾는 클래스입니다.

CountVectorizer

  • 문서 집합에서 단어 빈도를 기반으로 벡터화하는 클래스입니다.

파이썬 프로그래밍 기초

results matching ""

    No results matching ""