본문 바로가기
AI/LLM

[LLM] 🐼+🤖 ChatGPT + Pandas와의 결합? PandasAI

by 데이터 벌집 2023. 11. 1.

데이터 분석의 세계는 항상 끊임없는 발전과 혁신의 중심에 있습니다. 특히, 데이터 프로세싱에 있어서 Python의 라이브러리인 Pandas는 그 중심에 핵심 역할을 해왔습니다. 그런데 이제 Pandas의 강력함에 ChatGPT의 지능적인 통찰력을 결합한 새로운 도구, PandasAI가 등장하여 데이터 과학자들의 작업을 더욱 효율적이고 직관적으로 만들어줍니다. 이 툴은 Pandas의 강력한 데이터 처리 능력과 ChatGPT의 섬세한 언어 모델링 능력을 결합하여, 데이터 분석의 전반적인 과정을 혁신적으로 변화시킵니다. 이번 글에서는 이러한 PandasAI의 매력에 대해 함께 탐색해보겠습니다.

PandasAI

 


1. PandasAI란?

PandasAI

 

PandasAI는 혁신적인 Python 라이브러리로서, 데이터 분석의 세계에 전통적인 방법을 넘어선 새로운 접근법을 제시합니다. 기존에 데이터 분석에 주로 사용되던 Pandas 라이브러리의 강력함에 생성적 AI의 능력을 결합함으로써, 사용자는 데이터 프레임과의 대화형 상호작용을 경험할 수 있게 되었습니다.

 

1. 대화형 쿼리의 효율성

전통적으로 데이터 프레임의 내용을 파악하기 위해서는 복잡한 쿼리 문법이나 함수를 사용해야 했습니다. 하지만 PandasAI의 등장으로, 사용자는 자연어로 데이터에 질문을 할 수 있게 되었습니다. "A 열에서 가장 빈도수가 높은 항목은 무엇인가?"와 같은 질문을 그대로 입력하면, PandasAI는 이를 판단하고 적절한 Pandas 함수를 실행, 결과를 즉시 사용자에게 전달합니다.

 

2. 직관적인 데이터 시각화

데이터의 패턴이나 특성을 파악하기 위해서는 적절한 시각화가 필수적입니다. PandasAI는 "A 열과 B 열의 관계를 시각화해줘"와 같은 질문을 통해, 사용자의 요구에 따른 다양한 그래프를 생성해줍니다. 이를 통해 데이터를 더 깊게 이해하는 데 도움을 받을 수 있습니다.

 

3. AI 기반 데이터 예측

데이터를 바탕으로 미래의 트렌드나 결과를 예측하는 것은 많은 비즈니스나 연구에서 중요한 활동입니다. PandasAI는 "다음 달의 매출 예측해줘"와 같은 요청에 대해, 기존 데이터를 기반으로한 예측값을 제공해줍니다. 이를 통해 미래에 대한 계획이나 전략을 수립하는 데 큰 도움을 받을 수 있습니다.

 


2. PandasAI  시작하기

 

PandasAI 설치하기

PandasAI를 사용하기 전에, 해당 라이브러리를 우선 설치해야 합니다. 파이썬의 패키지 관리자 pip를 사용하여 쉽게 설치할 수 있습니다.

pip install pandasai​

 

필요한 라이브러리 임포트하기

PandasAI를 사용하기 위해 필요한 라이브러리들을 임포트해야 합니다. Pandas 라이브러리와 PandasAI의 주요 클래스들을 가져옵니다.

 

import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI

 

OpenAI API 키 설정하기

PandasAI는 OpenAI와 연동되어 작동하므로, OpenAI의 API 키 설정이 필요합니다. os 모듈을 활용하여 환경 변수에서 API 키를 가져올 수 있습니다.

import os
openai_api_key = os.environ["OPENAI_API_KEY"]

 

OpenAI 클래스 인스턴스 생성하기

앞서 설정한 API 키를 사용하여 OpenAI 클래스의 인스턴스를 생성합니다.

 

llm = OpenAI(api_token=openai_api_key)

 

PandasAI 객체 생성하기

 

마지막으로, 앞서 생성한 OpenAI 인스턴스를 사용하여 PandasAI 객체를 생성합니다.

 

pandas_ai = PandasAI(llm)

 

3. PandasAI로 데이터 분석하기 🚀

 

데이터 

 

Data Science Salaries 2023 💸

Salaries of Different Data Science Fields in the Data Science Domain

www.kaggle.com

 

 

 

df = pd.read_csv("ds_salaries.csv")
df.head()

이 데이터셋은 데이터 과학 분야의 다양한 직업군의 연봉을 보여주며 총 11개의 컬럼이 포함되어 있습니다.

 

데이터셋을 불러왔습니다! 🎉 이제 PandasAI에 DataFrame과 프롬프트를 전달하여 데이터셋을 분석해보겠습니다. 연봉 순으로 상위 5개의 직업 타이틀을 나열해달라고 PandasAI에 요청해봅시다.

 

 

response = pandas_ai.run(df, prompt='연봉 순으로 상위 5개의 직업 타이틀을 나열해주세요.')
print(response)

연봉 순으로 상위 5개 직업 타이틀을 나열해주세요 에 대한 답변, 출처: 데이터벌집

 

response = pandas_ai.run(df, prompt='직업 타이틀별로 연봉의 평균은 얼마인가요? 결과는 내림차순으로 정렬해주세요.')
print(response)

직업 타이틀별로 연봉의 평균은 얼마인가요에 대한 답변, 출처: 데이터벌집

 

response = pandas_ai.run(df, prompt='상위 10개 직업 타이틀을 다른 색으로 막대 그래프로 표현해주세요.')
print(response)

상위 10개 직업 타이틀을 다른 색으로 막대 그래프로 표현해주세요에 대한 답변, 출처: 데이터 벌집

 

response = pandas_ai.run(df, prompt='경험 수준별로 평균 연봉을 막대 그래프로 표현해주세요.')
print(response)

경험 수준별로 평균 연봉을 막대 그래프로 표현해주세요 에 대한 답변, 출처: 데이터 벌집

데이터셋에는 4가지 경험 수준이 포함되어 있습니다: 초급(EN), 중급(MI), 고급(SE), 이사급(EX). 경험 수준별 평균 연봉을 살펴봅시다. 예상대로, 평균 연봉이 가장 높은 직급은 이사급입니다, 그 다음은 고급입니다.

 

 

이렇게 PandasAI를 사용하여 데이터를 쉽게 탐색하고 시각화할 수 있습니다! 🌟


데이터 분석은 현대 비즈니스와 연구의 중심에 있습니다. 그 중심에서 빛나는 도구가 바로 PandasAI입니다. 기존의 Pandas 라이브러리의 능력에 AI의 지능적인 통찰력을 더해, 데이터와의 대화가 가능하게 되었습니다. 자연어를 통해 직관적으로 데이터를 질의하고, 시각화하며, 예측하는 경험은 데이터 분석의 진화를 상징합니다. 이 글을 통해, PandasAI의 기능과 사용법을 탐색하였으나, 이것은 그저 시작일 뿐입니다. 앞으로의 연구와 실무에서 PandasAI는 분명히 더 많은 가능성을 제시할 것입니다. 데이터의 세계에서 발견의 여정은 계속됩니다. PandasAI와 함께 그 여정을 더욱 풍성하고, 효율적으로 만들어보길 바랍니다.