-
[Python] 파이썬 라이브러리 PandasAIData Analysis/Python 2024. 3. 4. 22:10반응형
Table of Contents
- Introduction
- PandasAI란?
- Reference
Introduction
2023년 10월 100달러 였던 엔비디아 주식은 최근 800달러를 넘으며 앤비디아(NVIDIA) 주가가 미친듯이 치솟고 있다. AI과 관련된 테마주 역시 상당한 반응을 보이며 다시 한번 AI 세상에 살고 있음을 느끼게 하고 있다. 매일 AI 신기술들이 발표되고 있을 정도인데, 데이터를 분석하고 모델을 만드는 직업을 갖고 있다면 많이 사용하고 있는 언어 파이썬의 새로운 라이브러리를 소개하려고 한다. 특히, 기존에 데이터를 처리하거나 분석하는 과정에서 오랜 시간을 소비했던 영역을 자연어를 활용하여 손쉽게 처리할 수 있게 했다는 점에서 굉장한 매력을 갖고 있다. 바로 PandasAI인데, LLM을 통해 수집한 데이터를 자유자재로 처리하고 시각화까지 진행할 수 있다는 점에서 분석가들의 시간을 단축하는데 큰 도움을 줄 것 같은 라이브러리이다.
PandasAI란?
PandasAI는 데이터를 자연어로 쉽게 처리하기 위한 파이썬 라이브러리로 데이터 탐색, 정제, 분석을 생성형 AI를 활용하여 진행할 수 있기 때문에 보다 쉽게 분석을 진행하는 라이브러리이다 기본적으로 pip install을 이용해서 pandasai를 쉽게 설치할 수 있다.
!pip insatll pandasai
import pandas as pd from pandasai import SmartDataframe
PandasAI는 OpenAI의 API를 활용하기 때문에 가입하고 API TOKEN을 발급 받아야 활용이 가능하다. OpenAI에서 나온 ChatGPT가 여기서 활용하는 LLM(대형언어모델)이기 때문에 관련된 내용은 아래 링크를 통해 접속해서 확인할 수 있다.
from pandasai.llm import OpenAI llm = OpenAI(api_token = "YOUR_API_TOKEN")
구분 호출방법 BambooLLM from pandasai.llm import BambooLLM OpenAI models from pandasai.llm import OpenAI Google PaLM from pandasai.llm import GooglePalm Google Vertexai from pandasai.llm import GoogleVertexAI Azure OpenAI from pandasai.llm import AzureOpenAI HuggingFace via Text Generation from pandasai.llm import HuggingFaceTextGen Langchain models from langchain_openai import OpenAI 먼저, 테스트를 위해서 github에 나온 가이드 대로 국가별 판매량 데이터 셋을 하드코딩하여 입력하였다.
sales_by_country = pd.DataFrame({ "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"], "sales": [5000, 3200, 2900, 4100, 2300, 2100, 2500, 2600, 4500, 7000] })
그리고 자연어를 입력해서 조회를 시도해보면 가장 많이 판매되는 국가 별로 TOP5를 조회하는 것을 알 수 있다.
df = SmartDataframe(sales_by_country, config={"llm": llm}) df.chat('Which are the top 5 countries by sales?') China, United States, Japan, Germany, Australia
다만, 아직 한국어 지원이 안되고 있다는 점이 아쉽게 느껴진다. 또한 질의를 잘못할 경우 생각보다 결과물이 정상적으로 나오지 않는다는 점에서 오히려 코딩보다 자연어 질의가 더 어려운 느낌이 들 때도 있지만 언어가 익숙하지 않은 상태에서 LLM의 도움을 받는다면 확실히 결과물 제공하는 과정에 걸리는 시간을 상당히 단축할 것으로 기대한다.
Reference
Sinaptik Gmbh, "pandas-ai LLMs", https://docs.pandas-ai.com/en/latest/LLMs/llms/
Sinaptik Gmbh, "pandas-ai", https://pandas-ai.com/
반응형'Data Analysis > Python' 카테고리의 다른 글
[Python]DB 커넥터를 활용한 데이터베이스 연동하기 (1) 2024.03.25 [Python]공공데이터포탈 DEADLINE_HAS_EXPIRED_ERROR 해결 (1) 2024.02.12 [Python]파이썬 자료 구조2(튜플편) (0) 2024.01.19 [Python]파이썬 자료 구조1(리스트편) (1) 2023.09.24 [Python]파이썬 기초 문법 (3) 2023.08.04