[python] Peewee와 데이터 시각화

Peewee는 Python에서 사용할 수 있는 간단하고 가벼운 객체-관계 매핑(ORM) 라이브러리입니다. 이번 글에서는 Peewee를 사용하여 데이터베이스와 연동하고, 그 데이터를 시각화하는 방법에 대해 알아보겠습니다.

Peewee란?

Peewee는 Python 프로그램에서 SQLite, MySQL, PostgreSQL 등 다양한 데이터베이스 시스템과 연동할 수 있는 ORM 라이브러리입니다. ORM은 객체지향 프로그래밍에서 객체와 관계형 데이터베이스의 데이터를 매핑해주는 도구입니다.

Peewee를 사용하면 SQL 쿼리를 직접 작성하지 않고, Python 클래스와 메서드를 통해 데이터베이스 작업을 수행할 수 있습니다. 이를 통해 데이터베이스 작업을 더욱 직관적이고 간편하게 수행할 수 있습니다.

Peewee 설치

Peewee를 설치하기 위해서는 pip를 사용할 수 있습니다. 다음 명령어를 터미널에 입력하여 Peewee를 설치합니다.

pip install peewee

데이터베이스 연결

Peewee를 사용하여 데이터베이스와 연결하기 위해서는 Database 객체를 생성해야 합니다. 다음은 SQLite 데이터베이스와 연결하는 예제입니다.

from peewee import SqliteDatabase

db = SqliteDatabase('mydatabase.db')

위 코드에서 'mydatabase.db'는 데이터베이스 파일 이름이며, SQLite 데이터베이스 파일이 생성되거나 이미 존재해야 합니다.

모델 정의

Peewee를 사용하여 데이터베이스의 테이블을 정의하기 위해서는 모델을 작성해야 합니다. 모델은 데이터베이스 테이블과 대응되는 Python 클래스입니다.

예를 들어, ‘books’ 테이블을 정의하는 Book 모델을 다음과 같이 작성할 수 있습니다.

from peewee import Model, CharField, IntegerField

class Book(Model):
    title = CharField()
    author = CharField()
    year = IntegerField()

    class Meta:
        database = db

위 코드에서 Book 클래스는 Model을 상속받으며, title, author, year는 각각 문자열과 정수를 저장하는 필드입니다. Meta 클래스에서 database 속성을 통해 연결할 데이터베이스를 지정할 수 있습니다.

데이터 쿼리

Peewee를 사용하여 데이터베이스에서 데이터를 조회하거나 생성, 수정, 삭제하는 작업을 할 수 있습니다. 다음은 Book 모델을 사용하여 데이터를 조회하는 예제입니다.

books = Book.select()
for book in books:
    print(book.title, book.author, book.year)

위 코드에서 Book.select()는 ‘books’ 테이블의 모든 레코드를 조회하는 쿼리입니다. Book 모델 객체를 이용하여 각 필드의 값을 가져올 수 있습니다.

데이터 시각화

Peewee로 데이터를 조회한 후, 시각화하고 싶다면 다양한 시각화 라이브러리를 사용할 수 있습니다. 예를 들어, matplotlib 라이브러리를 사용하여 그래프를 그리는 방법을 알아보겠습니다.

import matplotlib.pyplot as plt

# title과 year 필드를 가져옴
titles = [book.title for book in Book.select()]
years = [book.year for book in Book.select()]

# 그래프 그리기
plt.bar(titles, years)
plt.xlabel('Title')
plt.ylabel('Year')
plt.title('Books')
plt.show()

위 코드는 Book 모델에서 titleyear 필드를 가져온 후, 그래프로 그리는 예제입니다. matplotlib.pyplot 모듈을 사용하여 막대 그래프를 그리고, plt.xlabel, plt.ylabel, plt.title 함수를 사용하여 축 레이블과 제목을 설정합니다.

마무리

Peewee는 간편하게 데이터베이스와 연동하여 데이터를 관리하고 시각화하는데 유용한 ORM 라이브러리입니다. 이번 글에서는 Peewee를 사용하여 데이터베이스와 연결하고, 데이터를 조회하여 시각화하는 방법에 대해 알아봤습니다.

더 많은 Peewee 기능과 데이터 시각화 기법을 익히고 싶다면 Peewee 공식 문서와 matplotlib 공식 문서를 참고해보세요.