[django에 AI 더하기] MySQL 데이터 Pandas Dataframe으로 가져오기
2022. 5. 29. 22:02
반응형
머신 러닝 모델을 개발하는 단계에서 DB가 아닌 csv 파일을 읽어 개발하는 경우가 있습니다. 하지만 실제 서비스로 오픈할 때는 많은 경우 데이터베이스를 사용해야 합니다. 따라서 csv에서 dataframe으로 불러오는 방법이 아닌 DB에서 dataframe으로 불러오는 방법을 알아보겠습니다.
본 글에서는 MySQL DB를 사용했습니다.
🔹 Django - MySQL 연결
settings.py 위치에 db_settings.py를 생성하여 아래 정보를 입력합니다.
db_settings를 gitignore에 등록하여 접속 정보를 숨기려는 목적입니다.
settings.py를 공개하지 않는다면, 바로 추가해도 상관없습니다.
### settings.py
import db_settings
DATABASES = db_settings.DATABASES
### db_settings.py
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'username',
'PASSWORD': 'userpassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
🔹 Django migrate
model 정보를 바탕으로 migrations 파일을 만들고, db에 전송하여 엔티티를 생성하는 과정입니다.
### shell
# migration 파일 생성
python manage.py makemigrations
# db 전송
python manage.py migrate
다양한 db에 알맞게 sql을 만들어주는 django orm의 강력한 기능입니다.
db와 model에 대해서는 공식문서에 유익한 정보가 많습니다.
🔹 Pandas Dataframe 만들기
여기서는 movie 정보를 예시로 사용했습니다.
### vies.py
from .models import Movie
import pandas as pd
def db_dataframe_test(request):
movies = Movie.objects.all()
movies_df = pd.DataFrame(list(movies.values()))
print(movies_df.head()) # 출력 확인
🔹 결과
정상적으로 dataframe이 출력되는것을 볼 수 있다.
Ref.
https://docs.djangoproject.com/en/4.0/topics/db/
https://stackoverflow.com/questions/11697887/converting-django-queryset-to-pandas-dataframe
반응형
'Programming > AI' 카테고리의 다른 글
[AWS CodeWhisperer] JetBrains IDE 연동 및 사용 방법 (IntelliJ, PyCharm ...) (0) | 2023.10.02 |
---|---|
[AWS CodeWhisperer] Visual Studio Code 연동 및 사용 방법 (0) | 2023.10.02 |
[Hugging Face API] 허깅페이스 API key 발급 및 여러 모델 사용 예제 (0) | 2023.09.09 |
[django에 AI 더하기] sklearn을 이용한 콘텐츠 기반 추천 (0) | 2021.12.01 |
[django에 AI 더하기] NLP가 살짝 가미된 워드클라우드 만들기 (0) | 2021.11.30 |