O que é o Pandas AI?
Pandas AI é uma biblioteca Python que usa modelos de IA generativa para potencializar as capacidades do pandas. Ela foi criada para complementar a biblioteca pandas, uma ferramenta amplamente usada para análise e manipulação de dados.
Você pode resumir dados de data frames do pandas usando linguagem natural. Além disso, dá para criar visualizações complexas, manipular dataframes e gerar insights de negócio.

Imagem de Pandas-AI
O Pandas AI é amigável para iniciantes: mesmo quem tem pouca base técnica consegue executar tarefas complexas de análise de dados. Sua utilidade ajuda a analisar mais rápido e chegar a conclusões relevantes.
Primeiros passos com o Pandas AI
Nesta seção, vamos ver como instalar e configurar o Pandas AI para análise de dados.
Primeiro, vamos instalar o Pandas AI usando o pip.
pip install pandasai
Instalação opcional: também podemos instalar a dependência do Google PaLM com o código abaixo.
pip install pandasai[google]
Depois, precisamos obter uma chave de API da OpenAI e armazená-la como variável de ambiente seguindo o tutorial Usando GPT-3.5 e GPT-4 via a OpenAI API em Python.
Por fim, devemos importar as funções essenciais, configurar a chave da OpenAI no wrapper da API de LLM e instanciar um objeto PandasAI. Vamos usar esse objeto para rodar prompts em um ou vários dataframes do pandas.
import os
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
openai_api_key = os.environ["OPENAI_API_KEY"]
llm = OpenAI(api_token=openai_api_key)
pandas_ai = PandasAI(llm)
Além do OpenAI GPT-3.5, você pode usar o wrapper de LLM para o Google PALM (Bison) ou até modelos open source disponíveis no HuggingFace, como Starcoder e Falcon.
from pandasai.llm.starcoder import Starcoder
from pandasai.llm.falcon import Falcon
from pandasai.llm.google_palm import GooglePalm
# GooglePalm
llm = GooglePalm(api_token="YOUR_Google_API_KEY")
# Starcoder
llm = Starcoder(api_token="YOUR_HF_API_KEY")
# Falcon
llm = Falcon(api_token="YOUR_HF_API_KEY")
Você também pode configurar um arquivo .env e evitar definir o api_token no código. Para isso, adicione as chaves de API ao arquivo .env usando o template:
HUGGINGFACE_API_KEY=
OPENAI_API_KEY=
Usos básicos do Pandas AI
Neste caso básico, vamos carregar o Netflix Movie Data usando a biblioteca pandas. O conjunto de dados contém mais de 8.500 filmes e séries disponíveis na Netflix.
import pandas as pd
df = pd.read_csv("netflix_dataset.csv", index_col=0)
df.head(3)

Siga nosso tutorial de pandas em Python para aprender tudo o que dá para fazer com a biblioteca.
Ao passar um dataframe e um prompt, conseguimos fazer o Pandas AI gerar análises e manipular o conjunto de dados. No nosso caso, vamos pedir ao Pandas AI para mostrar os registros dos cinco filmes com maior duração.
pandas_ai.run(df, prompt='What are 5 longest duration movies?')
Como vemos, o título de maior duração é Black Mirror, com 312 minutos.

Vamos pedir agora para exibir apenas os nomes dos cinco filmes com maior duração.
pandas_ai.run(df, prompt='List the names of the 5 longest duration movies.')
['Black Mirror: Bandersnatch', 'Headspace: Unwind Your Mind', 'The School of Mischief', 'No Longer kids', 'Lock Your Girls In']
Observação: se quiser reforçar a sua privacidade, você pode instanciar o PandasAI com enforce_privacy = True, o que não enviará os cabeçalhos do dataset (apenas os nomes das colunas) para o LLM.
Também podemos pedir ao Pandas AI para executar tarefas complexas como agrupamento, ordenação e combinação.
pandas_ai.run(df, prompt='What is the average duration of tv shows based on country? Make sure the output is sorted.')
country
Denmark, Singapore, Canada, United States 10.0
United States, Mexico, Colombia 7.0
Canada, United States, France 5.5
United Kingdom, Ireland 5.0
Canada, United Kingdom 5.0
...
Spain, Cuba 1.0
Germany, France, Russia 1.0
Observação: alguns prompts técnicos podem não funcionar, especialmente quando você pede para agrupar colunas.
Usos avançados do Pandas AI
Um caso avançado para o Pandas AI é gerar visualizações de dados complexas e análises de negócio usando múltiplos data frames.
No primeiro exemplo, podemos escrever um prompt para gerar um gráfico de barras mostrando o número de títulos por ano, categorizados por tipo.
pandas_ai.run(df, prompt='Plot the bar chart of type of media for each year release, using different colors.')

Observação: você pode salvar qualquer gráfico gerado pelo Pandas AI definindo o parâmetro save_charts como True. Por exemplo, PandasAI(llm, save_charts=True). Os gráficos serão salvos no diretório ./pandasai/exports/charts.
No segundo exemplo, vamos criar três data frames e usar os três para gerar uma análise com o Pandas AI.
O Pandas AI primeiro fará o join de df1 com df2 com base em "store" e de df2 com df3 em "location". Em seguida, ele processará o conjunto combinado e produzirá um resultado em poucos segundos. Um cientista de dados levaria pelo menos 10 minutos para entender os dados e elaborar uma solução.
# DataFrame 1
df1 = pd.DataFrame({
'sales': [100, 200, 300],
'store': ['Walmart', 'Target', 'Walmart']
})
# DataFrame 2
df2 = pd.DataFrame({
'revenue': [400, 500, 600],
'store': ['Walmart', 'Target', 'Walmart'],
'location': ['North', 'South', 'West']})
# DataFrame 3
df3 = pd.DataFrame({
'profit': [700, 800, 900],
'location': ['North', 'South', 'West'],
'employees': [20, 25, 30]})
pandas_ai.run([df1,df2,df3], prompt='How many employees work at Walmart?')
50
Você também pode realizar análises de dados complexas fazendo o curso Data Manipulation with pandas.
Interface de linha de comando (CLI) do Pandas AI
O CLI do Pandas AI é uma ferramenta experimental; você pode instalá-la clonando o repositório e acessando o projeto diretamente.
!git clone https://github.com/gventuri/pandas-ai.git
%cd pandas-ai
Depois disso, vamos usar o poetry para criar e ativar um ambiente virtual.
!poetry shell
Observação: se o poetry não estiver instalado no seu sistema, você pode instalá-lo com curl -sSL https://install.python-poetry.org | python3 -
Use o comando abaixo para instalar as dependências dentro do ambiente ativado.
!poetry install
Por fim, abra um terminal e use a ferramenta de CLI do Pandas AI. Você deve informar um dataset, o nome do modelo e o prompt. Se nenhum token for fornecido, o pai vai buscar o token no arquivo .env.
!pai -d "netflix_dataset.csv" -m "openai" -p "What are 5 longest duration movies?"
- -d, --dataset: o caminho do arquivo do dataset.
- -t, --token: seu token de API da HuggingFace ou da OpenAI.
- -m, --model: o modelo de LLM a ser usado. Opções:
openai,open-assistant,starcoder, falcon,azure-openaiougoogle-palm. - -p, --prompt: o prompt para o PandasAI executar.
Leia a documentação do Pandas AI para conhecer mais funções e recursos que simplificam seu fluxo de trabalho.
Conclusão
O Pandas AI tem potencial para revolucionar a análise de dados ao aproveitar modelos de linguagem de grande porte para gerar insights a partir de datasets.
Enquanto cientistas de dados costumam gastar bastante tempo limpando, explorando e visualizando dados, o Pandas AI automatiza grande parte dessas tarefas repetitivas.
No entanto, como toda ferramenta de IA, o Pandas AI ainda tem limitações e não substitui totalmente os humanos. Os resultados analisados geralmente exigem verificação humana para garantir precisão e identificar casos de exceção.
Neste post, aprendemos como instalar, configurar e usar o Pandas AI para análise de dados. Usamos o Pandas AI para executar tarefas analíticas, gerar visualizações e aproveitar múltiplos dataframes para obter insights de negócio. Se você quer melhorar seus prompts para conseguir resultados melhores, considere fazer o curso Introduction to ChatGPT ou consultar o ChatGPT Cheat Sheet for Data Science.
Sou um cientista de dados certificado que gosta de criar aplicativos de aprendizado de máquina e escrever blogs sobre ciência de dados. No momento, estou me concentrando na criação e edição de conteúdo e no trabalho com modelos de linguagem de grande porte.




