[python] 파이썬으로 MongoDB의 데이터 시각화하기

MongoDB는 신뢰성과 확장성이 뛰어나며, 대용량의 비정형 데이터를 처리하는 데 적합한 NoSQL 데이터베이스입니다. 이번 포스트에서는 파이썬으로 MongoDB의 데이터를 시각화하는 방법을 알아보겠습니다.

준비사항

먼저, 파이썬 환경이 설치되어 있어야 합니다. 파이썬은 이미 설치되어 있는지 확인하고, 없다면 파이썬 공식 웹사이트에서 다운로드하여 설치하세요. 또한, MongoDB 서버가 실행 중이어야 합니다. MongoDB는 공식 웹사이트에서 다운로드할 수 있습니다.

pymongo 설치

MongoDB와 파이썬을 연동하기 위해서는 pymongo 라이브러리가 필요합니다. 명령 프롬프트 또는 터미널에서 아래 명령을 실행하여 pymongo를 설치합니다.

pip install pymongo

데이터 시각화

데이터 시각화를 위해 matplotlib 라이브러리를 사용하겠습니다. 마찬가지로 명령 프롬프트 또는 터미널에서 아래 명령을 실행하여 matplotlib를 설치합니다.

pip install matplotlib

데이터 시각화를 위해 예제로 사용할 데이터베이스의 컬렉션을 생성합니다. 아래 예제 코드는 mydb 데이터베이스에 sales 컬렉션을 생성하는 코드입니다.

import pymongo

# MongoDB 연결
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 데이터베이스 선택
db = client["mydb"]

# 컬렉션 생성
col = db["sales"]

이제 예제 데이터를 sales 컬렉션에 추가합니다.

data = [
    {"name": "John", "product": "Apple", "quantity": 10, "price": 2.5},
    {"name": "Alice", "product": "Banana", "quantity": 5, "price": 1.5},
    {"name": "Bob", "product": "Orange", "quantity": 7, "price": 3.0},
    {"name": "Jane", "product": "Apple", "quantity": 3, "price": 2.5},
    {"name": "Mike", "product": "Orange", "quantity": 6, "price": 3.0},
]

col.insert_many(data)

이제 데이터를 조회하여 시각화해보겠습니다.

import matplotlib.pyplot as plt

# product 별 총 판매량 계산
pipeline = [
    {"$group": {"_id": "$product", "total_quantity": {"$sum": "$quantity"}}}
]

result = list(col.aggregate(pipeline))

# 시각화
products = [item["_id"] for item in result]
total_quantities = [item["total_quantity"] for item in result]

plt.bar(products, total_quantities)
plt.xlabel("Product")
plt.ylabel("Quantity")
plt.title("Sales by Product")
plt.show()

위 코드는 product 컬럼별 총 판매량을 계산하고 막대 그래프로 시각화합니다. 실행하면 Apple, Banana, Orange의 총 판매량이 시각화되는 화면을 볼 수 있습니다.

결론

이번 포스트에서는 파이썬을 사용하여 MongoDB의 데이터를 시각화하는 방법을 알아보았습니다. pymongomatplotlib 라이브러리를 활용하여 데이터베이스에서 데이터를 조회하고 시각화하는 방법을 익혔습니다. MongoDB의 강력한 기능과 파이썬의 편리한 데이터 분석 기능을 함께 활용하면 다양한 데이터 시각화와 분석을 손쉽게 수행할 수 있습니다.