코드 사용하는 과정에서 gpt와 함께 사용
- 이 방법이나 접근이 내일 안 될 수도 있음
- 사이트 UI도 변경될 수 있음
- 모델로 갑자기 없어질 수 있고 변경될 수 있음
- openai API 관련해서 로그인이 필요함
- https://openai.com/ko-KR/api/ ⇒ API 플랫폼으로 로그인을 하시면 됨!!
- https://platform.openai.com/login



- gpt 기반으로 여러 pandas하고 연계한 패키지들이 있었는데,,
- gpt 계속 변경이 되니,,,,버전 이슈로 지금 안 되거나 하는 친구들이 좀 있어요!!
- ⇒ 그 중에서,,,하나의 방식으로 진행을 하려고 함!!!!!
- langchain : LLM모델을 개발…오픈소스
!pip install langchain
!pip install openai
!pip install langchain-experimental
!pip install --upgrade pip
!pip install "langserve[all]"
!pip install langchain-cli
!pip install -U langchain-openai
#### 데이터 처리에 필요한 친구들..
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from langchain_openai import ChatOpenAI
from langchain_experimental.agents import create_pandas_dataframe_agent
# ==> openai api에서 신청한 키값을ㅇ...
openai_api_key = ' 신청한 키 값 넣기 '
# ==> 내가 사용할 모델을 지정!!!!
# 모델에 따라서 잘 되는 것도,,좀 안 되는 것도 있으니...
# ==> +++ 내가 무엇을 할지!!!! + 비용 + (작은 모델에서 부터,,,출발,,,,)
model = ChatOpenAI( model="gpt-4o-mini", api_key=openai_api_key,temperature=0)
model
'''
ChatOpenAI(client=, async_client=, root_client=, root_async_client=, model_name='gpt-4o-mini', temperature=0.0, model_kwargs={}, openai_api_key=SecretStr('**********'))
'''
# 앞에서한 titanic.csv 파일!!!
!gdown 1GUltwE6D9Cv90AP8nfO_kezO0d7TAtg7
'''
Downloading...
From: <https://drive.google.com/uc?id=1GUltwE6D9Cv90AP8nfO_kezO0d7TAtg7>
To: /content/titanic_train.csv
100% 60.3k/60.3k [00:00<00:00, 53.0MB/s]
'''
# ==> 파일을 불러올 때 필요한 기능이 있어서 편히 할 수 있으면 파라미터 메뉴얼
path = '/content/titanic_train.csv'
data = pd.read_csv(path, index_col="PassengerId")
data.head()

# Agent를 만들어서 : gpt하고 나의 DF을 연결하려고 함!!!!
# ===> 내가 할 DF과 사용할 언어 모델을 연결해주는 친구!!!!!!
agent = create_pandas_dataframe_agent(
model, # <--- 사용할 LLM 모델을 세팅,,
data, # <--- 연결 대상인 DF
agent_type="tool-calling", # etc.,.,,,,,,
allow_dangerous_code=True,
verbose= True
)
# +++ 메뉴얼을 보면서,,,본인에게 맞는 agent를 세팅하시면 됨!!
# agent한테 일을 시키면 됨!!!!
# ==> 구글링 하다 보면,,,예전 버전인 경우에 ,,ask
# 요즘은 invoke
response = agent.invoke( "전체 데이터 갯수가 어떻게 되나요?")
response
'''
> Entering new AgentExecutor chain...
Invoking: `python_repl_ast` with `{'query': 'len(df)'}`
891전체 데이터 갯수는 891개입니다.
> Finished chain.
{'input': '전체 데이터 갯수가 어떻게 되나요?', 'output': '전체 데이터 갯수는 891개입니다.'}
'''
len(data)
'''
891
'''
q_text = '객실등급에 따른 생존율에 대한 그래프 그려주세요'
agent.invoke(q_text)

q_text= "객실등급에 따라서 생존에 대한 카운트그래프를 그려줘"
agent.invoke(q_text)

q_text= "객실등급에 따라서 생존에 대한 카운트그래프를 그려줘, hue 사용해서"
agent.invoke(q_text)

앞으로는 더 이러한 편한 도구들이 더 발전을 할 것입니다!!!
- 사람이 별로 필요없어짐!!!!
- 아는 상태에서,,,,도구를 잘 써서,,,,생산성이 높은 사람.
- ** 어설프게 알아서는,,,롱런에서는 쉽지 않지 않을까....본인의 전문성!
도구들이 편하니까...."기획"..."아이디어” → 실질 결과물!!!
data.loc[:,"Pclass"].value_counts().plot(kind="barh")

'데이터분석 > Pandas' 카테고리의 다른 글
| [Python] Pandas _ EDA _ 04 worldhappy(2) (2) | 2025.08.29 |
|---|---|
| [Python] Pandas _ EDA _ 04 worldhappy (4) | 2025.08.28 |
| [Python] Pandas _ EDA _ 02 titanic (2) | 2025.08.27 |
| [Python] Pandas _ EDA _ 01 telecom (2) | 2025.08.26 |
| [Python] Pandas 15 _ curl (1) | 2025.08.25 |