데이터 분석의 세계는 끊임없이 진화하고 있으며, 더 효율적이고 효과적인 방법을 찾기 위한 노력이 지속되고 있습니다.

이러한 노력의 일환으로, 데이터 분석의 대표 라이브러리인 Pandas와 인공지능(AI)을 결합한 'PandasAI'가 등장했습니다.

이번 글에서는 PandasAI의 개념과 활용 방법, 그리고 데이터 분석 예제에 대해서 다루겠습니다.

 

1. PandasAI란 무엇인가?

PandasAI는 Pandas의 데이터 처리 기능에 인공지능의 기능을 결합한 라이브러리입니다.

Pandas는 데이터프레임을 중심으로 다양한 데이터 조작 및 분석 기능을 제공하며,

데이터 과학자와 분석가들에게 필수적인 도구로 자리 잡고 있습니다.

하지만, 복잡한 데이터 분석 작업을 자동화하거나 고급 분석을 수행하기 위해서는 추가적인 코드 작성이 필요합니다.

PandasAI는 이러한 문제를 해결하기 위해 등장했습니다.

PandasAI는 Pandas 데이터프레임과 함께 AI 모델을 쉽게 사용할 수 있도록 지원하여, 

복잡한 데이터 분석 작업을 간소화하고, 자동화할 수 있습니다.

 

2. PandasAI의 주요 기능

 

2.1 자연어 처리 기반 데이터 분석

PandasAI는 자연어 처리(NLP) 모델을 활용하여 데이터프레임에 대한 질의(Query)를 자연어로 입력할 수 있습니다.

예를 들어, "지난해의 매출 성장률을 계산해줘"와 같은 문장을 입력하면, PandasAI는 이를 Pandas 코드로 변환하여 결과를 도출합니다.

이는 코드를 잘 모르는 사용자도 데이터 분석을 수행할 수 있도록 도와줍니다.

 

2.2 AI 기반 예측 분석

PandasAI는 머신 러닝 모델을 Pandas 데이터프레임에 통합하여 예측 분석을 수행할 수 있습니다.

예를 들어, 특정 제품의 미래 판매량을 예측하거나,

고객의 이탈 가능성을 예측하는 작업을 Pandas 데이터프레임 내에서 바로 수행할 수 있습니다.

이는 데이터를 별도로 추출하여 모델에 넣는 과정 없이, 데이터 분석과 예측을 하나의 프로세스로 통합할 수 있다는 장점이 있습니다.

 

2.3 자동화된 데이터 전처리

데이터 전처리는 데이터 분석에서 가장 중요한 단계 중 하나입니다.

PandasAI는 데이터를 자동으로 전처리하는 기능도 제공합니다.

누락된 값을 채우거나, 이상치를 탐지하고 처리하는 작업을 AI가 자동으로 수행하여, 사용자는 분석에만 집중할 수 있습니다.

 

3. 사용 예시

 

3.1 PandasAI 패키지 설치

먼저, 아래 명령어로 PandasAI 라이브러리를 설치합니다.

pip install pandasai

 

3.2 Pandas 데이터 프레임 생성

분석할 데이터 셋을 불러오거나, 생성합니다. 아래로는 예시 데이터를 생성하겠습니다.

import pandas as pd

# 예시 데이터프레임 생성
data = {
    "Name": ["Alice", "Bob", "Charlie", "David", "Eva"],
    "Age": [25, 30, 35, 40, 45],
    "City": ["New York", "Los Angeles", "Chicago", "Houston", "Phoenix"],
    "Purchase Amount": [100, 200, 150, 300, 250]
}

df = pd.DataFrame(data)
print(df)

 

3.3 PandasAI - SmartDataframe 사용

SmartDataframe에 데이터와 사용할 언어 모델(llm 파라미터)을 등록합니다.

아래 예제에서는 OPEN AI의 GPT 언어 모델을 사용하겠습니다.

GPT 언어 모델을 사용하기 위해서는 GPT API 키가 있어야 하며, API 발급 과정은 

다음 링크에서 확인 가능합니다 - CHAT GPT API 키 발급 받기 가이드

AI의 분석 과정을 보고 싶다면 verbose 옵션은 True, 결과만 보기 위해서는 False를 입력합니다 (default : False)

from pandasai import SmartDataframe
from pandasai.llm.openai import OpenAI
import os, json

api_key = os.getenv("OPENAI_API_KEY")
llm = OpenAI(api_token = api_key)

pandasai = SmartDataframe(data, config={'llm': llm, 'verbose': True})

prompt="Who spent the most money?"
ai_result = pandasai.chat(prompt)

위 코드 상 ai_result 에 분석 결과가 저장되며, 해당 변수를 출력하면 아래와 같이 출력됩니다.

 

Name   Age        City  Purchase Amount
0   Alice   25    New York              100
1     Bob   30  Los Angeles              200
2 Charlie   35     Chicago              150
3   David   40     Houston              300
4     Eva   45     Phoenix              250

David

 

4. 결론

PandasAI는 이처럼 데이터 분석 작업을 보다 직관적이고 효율적으로 만들어 줍니다.

복잡한 분석 작업에도 PandasAI를 적용하여 데이터를 보다 쉽게 해석하고, 인사이트를 도출할 수 있습니다.

또한, 코딩 경험이 부족한 사용자도 자연어로 질의를 던져서 데이터 분석을 수행할 수 있다는 점이 큰 장점입니다.

전체 데이터 요약 등의 간단한 통계 작업을 위임할 수 있으며

복잡한 분석을 하기 전, 방향성을 잡기 위한 역할도 가능합니다.

'Etc > AI' 카테고리의 다른 글

[Chat GPT] Function Call 사용하기  (0) 2024.08.06
[Chat GPT] GPT API Key 발급 받기  (0) 2024.08.02