본문 바로가기
IT

파이썬(python) 라이브러리란 무엇인가? | 뜻과 종류들 math, time, statistics

by MY0715 2024. 7. 23.
반응형

파이썬 라이브러리는 다양한프로그래밍 작업을 효율적으로 처리할 수 있게 도와주는 하나의 도구입니다. 오늘 이 글에서는 파이썬의 표준 그릭고 외부 라이브러리 종류를 알아보고 주요 라이브러리의 예제를 한 번 다뤄 보도록 하겠습니다.

표준 라이브러리

파이썬의 표준 라이브러리는 기본적으로 파이썬 설치 시 함계 제공되는 라이브러리입니다. 별도의 설치 없이 바로 사용할 수 있고 다양한 기본 기능들을 제공합니다.

 

데이터 처리

  • datatime: 날짜와 시간을 처리하는 데 유용한 모듈입니다. datatime 모듈을 사용하면 현재 날짜와 시간, 특정 날자의 연산등을 손쉽게 처리할 수 있습니다. 
from datetime import datetime

now = datetime.now()
print("현재 날짜와 시간:", now)
  • time: 시간과 관련된 다양한 기능을 제공합니다. time모듈은 현재 시간을 얻어내거나 일정 시간동안 프로그램을 지연시키는데 주로 사용됩니다.
import time

print("5초 지연")
time.sleep(5)
print("지연 종료")
  • calendar: 달력과 관려된 기능을 제공하는 모듈로 연도와 월별 달력을 출력하거나, 특정 날짜가 무슨 요일인지 확인할 수 있습니다. 
import calendar

cal = calendar.month(2024, 7)
print("2024년 7월의 달력:")
print(cal)

 

파일 디렉토리 작업

  • os: 운영체제와 상호작용해서 파일 디렉토리 작업을 처리합니다. 현재 작업 디렉토리를 확인하거나, 파일 및 디렉토리를생성 및 삭제하는 기능을 제공합니다. 
import os

print("현재 작업 디렉토리:", os.getcwd())
  • shutil: 고수준의 파일 및 디렉토리 작업을 지원합니다. 파일 복사, 이동, 삭제 등을 손쉽게 수행할 수 있습니다.
import shutil

shutil.copy('source_file.txt', 'destination_file.txt')
  • pathlib: 객체 지향적인 방식으로파일 경로를 조작할 수 있는 모듈입니다. 파일 경로를 쉽게 처리하고 파일이 존재하는지 확인하는 등의 작업을 지원합니다.
from pathlib import Path

p = Path('example.txt')
print("파일 존재 여부:", p.exists())

 

데이터 직렬화

  • josn: JSON형식으로 데이터를 직렬화하거나 역직렬화하는 데 사용됩니다. JSON은 데이터 교환 포맷으로 많이 사용되곤합니다. 
import json

data = {"name": "John", "age": 30}
json_str = json.dumps(data)
print("JSON 문자열:", json_str)

data_loaded = json.loads(json_str)
print("파이썬 객체로 변환된 데이터:", data_loaded)

 

  • pickle: 파이썬 객체를 직렬화하여서 파일에 저장하거나, 저장된 파일로부터 객체를 복원할 때 사용됩니다. 
import pickle

data = {'key': 'value'}
with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)

with open('data.pkl', 'rb') as file:
    loaded_data = pickle.load(file)
    print("로드된 데이터:", loaded_data)
  • csv: CSV파일의 읽기 및 쓰기를 지원하는 모듈입니다. 데이터를 CSV파일 형식으로 저장하거나 ,csv파일로부터 데이터를 읽어올 수 있습니다. 
import csv

with open('example.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Name', 'Age'])
    writer.writerow(['Alice', 30])
    writer.writerow(['Bob', 25])

with open('example.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print("CSV 행:", row)

 

수학 및 통계 

  • math: 수학적 함수와 상수들을 제공하는데요. 이 모듈을 통해서 삼각함수나 로그 함수 등의 다양한 수학적 연산을 수행할 수 있습니다.
import math

print("원주율(pi):", math.pi)
print("제곱근(16):", math.sqrt(16))
print("거듭제곱(2^3):", math.pow(2, 3))
  • statistics: 기본적인 통계 연산을 지원합니다. 평균, 중아값, 분산 등을 계산할 수 있습니다.
import statistics

data = [1, 2, 3, 4, 5]
print("평균:", statistics.mean(data))
print("중앙값:", statistics.median(data))
print("표준편차:", statistics.stdev(data))

 

외부 라이브러리

파이썬 외부 라이브러리는 pyPI(파이썬 패키지 인덱스)를 통해서 설치할 수 있고, 다양한 특화된 작업을 지원합니다. 다양한 분야가 있고 각 분야마다 사용되는 라이브러리가 다릅니다.

데이터 사이언스 및 분석

  • numpy: 데이터를 계산하고 데이터를 다루며 다차원의 배열 및 행렬 연산을 지원하는 라이브러리 입니다. 
import numpy as np

arr = np.array([1, 2, 3, 4])
print("NumPy 배열:", arr)

 

  • pandas: 데이터 분석을 위한 강력한 데이터구조와 도구를 제공하는데요. 표 형식의 데이터를 효율적으로 처리하고 분석할 수 있습니다. 
import pandas as pd

df = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [30, 25]})
print("Pandas 데이터프레임:\n", df)
  • matplotlib: 데이터를 시각화하기 위한 라이브러리입니다. 다양한 유형의 그래프와 차트를 생성할 수 있습니다. 
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [10, 15, 13, 18]

plt.plot(x, y)
plt.xlabel('X축')
plt.ylabel('Y축')
plt.title('간단한 선 그래프')
plt.show()

 

웹개발

  • Flask: 경량 웹 애플리케이션 프레임워크입니다. 간단한 웹 서버및 REST API를 바르게 구축할 수 있습니다.
from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run()
  • django: 풀스택 웹 프레임워크로, 웹 애플리케이션 개발을 지원합니다. 강력한 ORM, 인증, 관리자 인터페이스등을 제공합니다.

머신러닝 및 인공지능

  • scikit-learn: 머신러닝 모델 구축 및 평가를 위한 라이브러리로, 다양한 알고리즘과 도구를 제공합니다.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

data = load_iris()
X = data.data
y = data.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
clf = RandomForestClassifier()
clf.fit(X_train, y_train)
print("모델 정확도:", clf.score(X_test, y_test))
  • tensorflow: 딥러닝 프레임워크로, 신경망 모델을 구축하고 훈련합니다. 대규모 데이터와 복잡한 모델을 다루는 데 유용합니다.
import tensorflow as tf

model = tf.keras.Sequential([
    tf.keras.layers.Dense(10, activation='relu'),
    tf.keras.layers.Dense(1)
])

model.compile(optimizer='adam', loss='mean_squared_error')


결론

파이 라이브러리는 다양한 프로그래밍 작업을 할 수 있게 도와주고, 이를 활용하면, 개발 효율성을 크게 높일 수 있습니다. 표준 라이브러리는 기본적인 기능을 제공하고 외부 라이브러리는 각 분야에 맞게 특화된 작업들을 지원합니다. 각라이브러리의 특성과 사용

반응형