Python Pandas 라이브러리 사용해보기 ✨
파이썬에서 ORM 을 사용하다보면 list, dict 데이터 형식을 JSON으로 캐스팅 해야하는 경우가 자주 발생한다. Pandas(판다스)는 캐스팅을 위한 파이썬 라이브러리인데 위키백과에 명확한 설명이 있어서 인용해왔다.
pandas는 데이터 조작 및 분석을 위해 Python 프로그래밍 언어로 작성된 소프트웨어 라이브러리입니다
출처 위키백과
pandas 라이브러리 설치
pip install pandas
파이썬 패키지 매니저를 통해 쉽게 설치가 가능하다.
import 및 사용
import pandas as pd
pandas 라이브러리는 pd 로 사용하는 것이 관례라고 합니다.
사용 예시로, flask_sqlalchemy
라이브러리를 사용해 포스트에 달린 댓글을 가져온다면
(CommentModel 은 미리 선언해뒀다고 가정)
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
comments = db.session.query(CommentModel).filter(CommentModel.post_idx == post_idx).all()
comments 는 리스트형으로 리턴되고, 저는 pandas
라이브러리를 통해 JSON 으로 리턴해보겠습니다.
query = db.session.query(CommentModel).filter(CommentModel.post_idx == post_idx)
pandas_query = pd.read_sql(query.statement, query.session.bind)
comments = json.loads(pandas_query.to_json(orient = 'records'))
SQLAlchemy 로 SQL만 추출한 후, 해당 쿼리를 pd.read_sql()
을 통해 데이터를 셀렉트해옵니다.
to_json()
만으로도 JSON 형태로 변환되지만 아래와 같은 형태로 변환되기 때문에 orient = 'records'
옵션을 추가해주었습니다.
[옵션 제거 시]
{
"comment_idx": {
"0": 1,
"1": 2,
...
}
"content": {
"0": "댓글1",
"1": "댓글2",
...
}
}
[옵션 추가 시]
{
{
"comment_idx": 1,
"content": "댓글1",
},
{
"comment_idx": 2,
"content": "댓글3",
}
}
리스트를 딕셔너리 타입으로 바꾸거나, encoder 클래스를 생성해두고 사용하는 방법도 있지만, 데이터 분석 시 테이블형의 데이터를 가공하는데 필수인 라이브러리라 사용해보았습니다.
이 외에도 데이터 캐스팅의 좋은 방법이 있으시다면 코멘트 부탁드립니다 🙏🏻
출처
https://lemontia.tistory.com/844
Author And Source
이 문제에 관하여(Python Pandas 라이브러리 사용해보기 ✨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiyaaany/Python-Pandas-라이브러리-사용해보기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)