Python 초보자를 위한 필수 라이브러리 10가지
Python 생태계에는 데이터 처리, 웹 크롤링, 시각화 등 분야별로 수많은 라이브러리가 있습니다.
이 중 초보자가 알아두면 프로젝트 시작과 학습에 큰 도움이 되는 10가지를 선정했습니다.
각 라이브러리별 소개, 설치 방법, 간단한 코드 스니펫과 예상 결과 화면을 함께 살펴보세요.
라이브러리 한눈에 보기
카테고리 | 라이브러리 |
---|---|
데이터 처리 | NumPy, pandas |
웹 크롤링 | requests, BeautifulSoup, Selenium |
시각화 | matplotlib, seaborn, plotly |
기타 | SQLAlchemy, Flask |
1. NumPy (Numerical Python)
데이터 과학의 기초가 되는 수치 연산 라이브러리입니다. 고성능 다차원 배열 객체 ndarray
와 브로드캐스팅, 선형대수, 난수 생성 기능을 제공합니다.
pip install numpy
import numpy as np
# 1차원 배열 생성 및 연산
arr = np.array([1, 2, 3])
print(arr * 2)
# 2차원 행렬 덧셈
m1 = np.array([[1, 2], [3, 4]])
m2 = np.ones((2,2))
print(m1 + m2)
결과 화면 (콘솔)
[2 4 6]
[[2. 3.]
[4. 5.]]
2. pandas
테이블 형태의 데이터를 다루는 핵심 라이브러리입니다. DataFrame
과 Series
객체로 CSV/엑셀 파일, SQL 쿼리 결과 등을 손쉽게 읽고 쓰며, 그룹화·정렬·결측치 처리 등 데이터 전처리를 편리하게 지원합니다.
pip install pandas
import pandas as pd
# 딕셔너리로부터 DataFrame 생성
df = pd.DataFrame({
'이름': ['Alice', 'Bob', 'Charlie'],
'나이': [25, 30, 35]
})
print(df)
# CSV 파일로 저장
df.to_csv('people.csv', index=False)
결과 화면 (콘솔)
이름 | 나이 | |
---|---|---|
0 | Alice | 25 |
1 | Bob | 30 |
2 | Charlie | 35 |
3. requests
HTTP 요청을 간편하게 처리하는 라이브러리입니다. REST API 호출, 로그인 폼 제출, 파일 다운로드 등 웹 상호작용을 코드 몇 줄로 구현할 수 있습니다.
pip install requests
import requests
# GitHub API 호출
r = requests.get('https://api.github.com')
print(r.status_code)
data = r.json()
print(data['current_user_url'])
결과 화면 (콘솔)
200
https://api.github.com/user
4. BeautifulSoup
HTML/XML 문서에서 원하는 요소를 추출하는 웹 스크래핑 도구입니다. requests
와 함께 사용해 텍스트, 링크, 이미지 URL 등을 손쉽게 파싱할 수 있습니다.
pip install beautifulsoup4
from bs4 import BeautifulSoup
html = '<html><body><h1>안녕하세요</h1><p>Python</p></body></html>'
soup = BeautifulSoup(html, 'html.parser')
print(soup.h1.text)
print(soup.p.string)
결과 화면 (콘솔)
안녕하세요
Python
5. Selenium
브라우저를 자동화해 동적 페이지를 제어할 때 사용하는 도구입니다. 로그인, 버튼 클릭, 스크롤, 파일 업로드 등 JavaScript 로드 후 변하는 요소도 제어할 수 있습니다.
pip install selenium
# ChromeDriver 별도 다운로드 필요
from selenium import webdriver
driver = webdriver.Chrome('/path/to/chromedriver')
driver.get('https://example.com')
print(driver.title)
driver.quit()
결과 화면 (콘솔)
Example Domain
6. matplotlib
가장 기본이 되는 2D 시각화 라이브러리입니다. 선 그래프, 막대 그래프, 히스토그램, 산점도 등 다양한 차트를 그릴 수 있으며, 세부 설정도 세밀하게 조절 가능합니다.
pip install matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y, marker='o')
plt.title('예제 선 그래프')
plt.xlabel('X축')
plt.ylabel('Y축')
plt.show()
결과 화면
(선 그래프가 그려진 윈도우 창이 표시됩니다)
7. seaborn
matplotlib 기반의 통계적 시각화 라이브러리입니다. 데이터셋에 내장된 DataFrame
을 바로 입력해도 동작하며, 복잡한 스타일링과 색상 테마를 간단히 적용할 수 있습니다.
pip install seaborn
import seaborn as sns
import pandas as pd
df = pd.DataFrame({
'group': ['A','A','B','B'],
'value': [10,15,20,25]
})
sns.barplot(x='group', y='value', data=df)
결과 화면
(그룹별 막대 그래프가 그려진 이미지 창)
8. plotly
대화형(interactive) 차트를 웹 브라우저에서 표현할 수 있는 라이브러리입니다. 마우스 오버 툴팁, 줌·팬 기능을 기본 제공하며, 대시보드와 결합하기 좋습니다.
pip install plotly
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x='sepal_width', y='sepal_length', color='species')
fig.show()
결과 화면
(브라우저에 산점도가 대화형으로 표시됩니다)
9. SQLAlchemy
Python에서 SQL 데이터베이스를 객체 지향적으로 다루는 ORM(Object-Relational Mapping) 라이브러리입니다. 복잡한 쿼리도 파이썬 코드로 작성할 수 있어 생산성 향상에 도움이 됩니다.
pip install sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
user = Table('user', metadata,
Column('id', Integer, primary_key=True),
Column('name', String)
)
metadata.create_all(engine)
print(engine.table_names())
결과 화면 (콘솔)
['user']
10. Flask
가볍고 직관적인 웹 프레임워크입니다. API 서버, 간단한 웹 서비스, 마이크로서비스 등 빠르게 프로토타입을 만들 때 유용합니다.
pip install flask
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run(port=5000)
결과 화면 (브라우저)
Hello, World!
추가 팁과 다음에 알아볼 만한 것들
- 가상환경(venv, conda) 관리로 라이브러리 충돌 방지
pip freeze > requirements.txt
로 프로젝트 의존성 기록- VSCode, Jupyter Notebook 등을 활용한 실시간 코드 실행
- 데이터 저장·시각화 심화:
openpyxl
,xlrd
,folium
,dash
- 머신러닝/딥러닝에 관심 있다면
scikit-learn
,TensorFlow
,PyTorch
도 도전해 보세요!