Pandas AI는 판다스(Pandas) 라이브러리에 생성형 AI 기능을 추가하여 데이터를 자연어로 분석하고 조작할 수 있는 Python 패키지임. 이를 통해 데이터 과학자와 분석가가 복잡한 코드를 작성하지 않고도 데이터를 직관적으로 다룰 수 있음.
패키지 설치
pip install pandasai 명령어를 사용하여 Pandas AI를 설치함[2][3][4].필요한 라이브러리 임포트
import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
API 키 설정
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
llm = OpenAI(api_token=os.environ["OPENAI_API_KEY"])
pandas_ai = PandasAI(llm=llm)
데이터프레임 생성 및 로드
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]
}
df = pd.DataFrame(data)
자연어 쿼리 실행
query = "Who is the oldest person?"
result = pandas_ai.query(df, query)
print(result)
Streamlit 설치 및 기본 화면 구성
pip install streamlit 명령어로 Streamlit 설치 후 UI를 구성함.import streamlit as st
from pandasai.llm.local_llm import LocalLLM
model = LocalLLM(api_base="http://localhost:11434/v1", model="llama3")
st.title("Data Analysis with PandasAI")
파일 업로드 기능 추가
upload_file = st.file_uploader("Upload a CSV file", type=['csv'])
if upload_file is not None:
df = pd.read_csv(upload_file)
st.write(df.head(3))
프롬프트 입력 및 결과 출력
from pandasai import SmartDataframe
if upload_file is not None:
data = pd.read_csv(upload_file)
df = SmartDataframe(data, config={"llm": model})
prompt = st.text_area("Enter your prompt:")
if st.button("Generate"):
if prompt:
with st.spinner("Generating response..."):
st.write(df.chat(prompt))
데이터 정제
cleaned_df = pandas_ai.clean_data(df)
print(cleaned_df)데이터 시각화
기능 생성
Pandas AI는 판다스의 강력한 데이터 처리 능력을 생성형 AI와 결합하여 자연어 기반 데이터 분석을 가능하게 함. Streamlit과 같은 프레임워크를 사용하면 직관적인 UI와 함께 데이터 분석 워크플로우를 간소화할 수 있음.
pandas ai를 사용해서 다른 작업에 응용할 수 있는 지를 추가 기재 할 계획임. 1편은 완료!
P.S. 혹시 잘못된 부분이 있으면 댓글로 알려주세요.
Citations:
[1] https://normalstory.tistory.com/entry/Pandas-AI-%ED%8C%90%EB%8B%A4%EC%8A%A4%EC%99%80-ChatGPT%EC%99%80%EC%9D%98-%EB%A7%8C%EB%82%A8featollama
[2] https://www.datacamp.com/blog/an-introduction-to-pandas-ai
[3] https://www.kdnuggets.com/utilizing-pandas-ai-for-data-analysis
[4] https://www.restack.io/p/pandas-ai-answer-ollama-integration-cat-ai
[5] https://www.artiba.org/blog/exploring-pandas-ai-key-features-and-practical-applications
[6] https://github.com/TirendazAcademy/PandasAI-Tutorials
[7] https://www.123ofai.com/post/pandas-ai
[8] https://plainenglish.io/blog/pandas-ai-a-step-by-step-guide-into-exploratory-data-analysis-powered-by-ai
[9] https://normalstory.tistory.com/entry/Pandas-AI-%ED%8C%90%EB%8B%A4%EC%8A%A4%EC%99%80-ChatGPT%EC%99%80%EC%9D%98-%EB%A7%8C%EB%82%A8featollama
[10] https://www.cybrosys.com/blog/an-overview-of-pandas-ai
[11] https://zzsza.github.io/data/2023/05/27/pandas-ai/
[12] https://aiandgamedev.com/ai/ollama-6-gpt-localllm-pandasai/
[13] https://github.com/sinaptik-ai/pandas-ai
[14] https://www.youtube.com/watch?v=5PVGT797nXg
[15] https://github.com/TirendazAcademy/PandasAI-Tutorials/blob/main/Pandas-AI-with-Ollama.ipynb
[16] https://www.restack.io/p/pandas-ai-answer-using-pandas-ai-cat-ai
[17] https://fornewchallenge.tistory.com/entry/%EC%97%91%EC%85%80%EA%B3%BC-%EB%8C%80%ED%99%94-PandasAI%EC%99%80-Ollama%ED%99%9C%EC%9A%A9-6%EC%A4%84-%EC%BD%94%EB%93%9C%EB%A1%9C-Llama3-%EC%B1%97%EB%B4%87-%EB%A7%8C%EB%93%A4%EA%B8%B0
[18] https://pandasai-docs.readthedocs.io
[19] https://www.youtube.com/watch?v=bw_e6xgGSTY
[20] https://www.youtube.com/watch?v=p53YfWZJt14
[21] https://www.youtube.com/watch?v=_dDaNgBDoHY