Utilizando Pandas AI para análise de dados
Você é especialista em trabalhar com dados utilizando Python? Nesse caso, é provável que uma parte significativa de vocês utilize o Pandas como sua principal ferramenta para manipulação de dados.
Se você não sabe, Pandas é um pacote Python de código aberto desenvolvido especificamente para análise e manipulação de dados. É um dos pacotes mais usados e que você geralmente aprende ao iniciar uma jornada de ciência de dados em Python.
No que diz respeito à investigação sobre Pandas AI, pode-se inferir que a razão para ler este conteúdo reside no desejo de obter conhecimento do mesmo.
Na verdade, a nossa era atual é caracterizada pela utilização generalizada de inteligência artificial generativa. A capacidade de utilizar esta tecnologia para efeitos de análise dos próprios dados revelar-se-ia, sem dúvida, altamente vantajosa e facilitadora.
Pandas AI simplifica o processo de análise e manipulação de conjuntos de dados, fornecendo uma interface intuitiva para os usuários inserirem suas consultas por meio de prompts simples. Ao contrário de outros métodos que exigem o envio de todo o conjunto de dados para outro lugar, o Pandas AI permite que os usuários executem essas tarefas diretamente em seu próprio sistema, mantendo controle total sobre seus dados.
Este artigo tem como objetivo aprofundar os meandros do aproveitamento da Pandas AI em empreendimentos de análise de dados. No seu âmbito, procura transmitir conhecimentos sobre vários aspectos, incluindo, mas não se limitando a:
O texto fornecido parece ser uma lista de tópicos relacionados ao trabalho com pandas em Python, com foco específico em aplicações de inteligência artificial (IA). Os tópicos incluem configuração de dados para análise usando pandas, exploração e visualização de dados com pandas, bem como técnicas avançadas para utilização de pandas em um contexto de IA.
Vamos embarcar em nossa jornada de aprendizado imediatamente?
Pandas AI é um pacote Python que implementa um recurso Large Language Model (LLM) na API Pandas. Podemos usar a API padrão do Pandas com aprimoramento de IA generativa que transforma o Pandas em uma ferramenta de conversação.
Preferimos utilizar o Pandas AI devido à sua interface simplificada, que permite uma análise eficiente e direta dos dados por meio de um esforço mínimo de codificação. A simplicidade da interface amigável do pacote permite que os usuários conduzam análises com facilidade, inserindo apenas instruções básicas.
Chega de introdução. Vamos começar a trabalhar.
Antes de iniciar qualquer outra operação, é imperativo que primeiro instalemos o pacote necessário.
pip install pandasai
Para empregar um modelo de linguagem com nosso aplicativo Pandas AI, é necessário estabelecer o modelo específico de escolha entre as alternativas disponíveis, incluindo OpenAI GPT e HuggingFace. Para os fins deste tutorial, optamos por utilizar a plataforma OpenAI GPT.
Configurar o modelo OpenAI no Pandas AI é simples, mas você precisaria da chave de API OpenAI. Se você não tiver um, você pode entrar no site deles.
Devemos prosseguir com a configuração do modelo de linguagem de inteligência artificial Pandas implementando o código fornecido?
from pandasai.llm import OpenAI llm = OpenAI(api_token="Your OpenAI API Key")
Você atingiu um estágio em que pode realizar análises de dados usando a biblioteca Pandas, uma ferramenta avançada para manipulação e análise de dados em Python.
Exploração de dados com Pandas AI
Começaremos examinando um conjunto de dados de teste utilizando Pandas AI, especificamente o conjunto de dados Titanic obtido através do pacote Seaborn para fins ilustrativos.
import seaborn as sns from pandasai import SmartDataframe data = sns.load_dataset('titanic') df = SmartDataframe(data, config = {'llm': llm})
Para ativar os recursos de inteligência artificial do Pandas dentro de um DataFrame, é necessário primeiro inserir os dados no objeto Pandas AI Smart Data Frame. Uma vez realizado isso, uma variedade de operações de conversação podem ser realizadas no DataFrame.
Vamos tentar uma pergunta simples.
response = df.chat("""Return the survived class in percentage""") response
A proporção de indivíduos que resistiram foi de 38,38%.
Em relação ao prompt fornecido, é concebível que um sistema de IA baseado na tecnologia Pandas possa fornecer uma resolução e responder a quaisquer dúvidas que possam surgir.
#Data Summary summary = df.chat("""Can you get me the statistical summary of the dataset""") #Class percentage surv_pclass_perc = df.chat("""Return the survived in percentage breakdown by pclass""") #Missing Data missing_data_perc = df.chat("""Return the missing data percentage for the columns""") #Outlier Data outlier_fare_data = response = df.chat("""Please provide me the data rows that contains outlier data based on fare column""")

Imagem do autor
Na verdade, conforme ilustrado no visual acima, o Pandas AI demonstrou sua capacidade de fornecer dados relevantes por meio da utilização do objeto DataFrame, mesmo quando confrontado com consultas complexas.
As capacidades de inteligência artificial do Panda têm limitações em termos de processamento de cálculos complexos devido às restrições impostas pelos modelos de linguagem empregados nos seus objetos SmartDataFrame. No entanto, prevê-se que, com o avanço e evolução contínuos destes modelos de linguagem, a IA do Panda será capaz de realizar análises cada vez mais elaboradas no futuro.
Visualização de dados com Pandas AI
A Inteligência Artificial Pandas possui considerável utilidade no domínio da exploração de dados, com sua capacidade de gerar representações visualmente cativantes de conjuntos de informações complexos por meio de um processo conhecido como visualização de dados. Ao fornecer um prompt claro e conciso, pode-se extrair efetivamente esses recursos do Pandas AI, gerando assim resultados visuais esteticamente agradáveis e informativos que facilitam insights mais profundos sobre os conjuntos de dados analisados.
Vamos tentar um exemplo simples.
response = df.chat('Please provide me the fare data distribution visualization') response

Imagem do autor
No caso mencionado acima, solicitamos ao Pandas AI que gere uma representação visual da dispersão da coluna Tarifa em nosso conjunto de dados. O resultado resultante é um gráfico de barras que ilustra a distribuição de frequência dos valores contidos nesta coluna específica.
Embora o Pandas AI seja capaz de realizar várias formas de exploração de dados, atualmente não tem a capacidade de gerenciar com eficácia tarefas de visualização de dados mais complexas.
Certamente, aqui está uma representação refinada da visualização de dados usando Pandas AI:
kde_plot = df.chat("""Please plot the kde distribution of age column and separate them with survived column""") box_plot = df.chat("""Return me the box plot visualization of the age column separated by sex""") heat_map = df.chat("""Give me heat map plot to visualize the numerical columns correlation""") count_plot = df.chat("""Visualize the categorical column sex and survived""")

Imagem do autor
A apresentação parece bem organizada e você pode solicitar informações adicionais ao Pandas AI caso sejam necessários mais esclarecimentos.
Pandas AI avança no uso
Utilizando uma variedade de APIs integradas fornecidas pelo Pandas AI, temos a oportunidade de aprimorar a experiência geral do usuário do Pandas AI.
Limpeza de cache
Para otimizar o desempenho, o sistema Pandas AI armazena seus prompts e resultados gerados localmente por padrão, minimizando assim os tempos de transferência de dados e diminuindo a duração das interações com o modelo de aprendizado de máquina associado.
É importante notar que o cache pode ocasionalmente tornar obsoletos os resultados anteriores do Pandas AI, considerando dados históricos. Como tal, é aconselhável limpar regularmente o cache. O código a seguir pode ser usado para erradicar efetivamente qualquer informação armazenada em cache:
import pandasai as pai pai.clear_cache()
Alternativamente, você pode optar por desabilitar o cache desde o início.
df = SmartDataframe(data, {"enable_cache": False})
Desde o início, há uma omissão deliberada tanto de sugestões quanto de resultados.
Cabeça Personalizada
Pode-se enviar um conjunto de dados de teste na forma de DataFrame para o módulo Pandas AI, que serve como alternativa ao compartilhamento de informações confidenciais com o Modelo de Linguagem ou fornece um exemplo demonstrativo para fins de referência dentro da estrutura.
Para realizar esta tarefa, pode-se empregar o código acima mencionado.
from pandasai import SmartDataframe import pandas as pd # head df head_df = data.sample(5) df = SmartDataframe(data, config={ "custom_head": head_df, 'llm': llm })
Habilidades e agentes de IA do Pandas
O Pandas AI permite que os usuários forneçam uma instância representativa de uma função e instruam o sistema de tomada de decisão do Agente a executar essa função usando sua própria experiência. A título de ilustração, considere o trecho de código fornecido que unifica dois dataframes distintos e emprega um método de visualização demonstrativo por meio da execução dos recursos do Agente no Pandas AI.
import pandas as pd from pandasai import Agent from pandasai.skills import skill employees_data = { "EmployeeID": [1, 2, 3, 4, 5], "Name": ["John", "Emma", "Liam", "Olivia", "William"], "Department": ["HR", "Sales", "IT", "Marketing", "Finance"], } salaries_data = { "EmployeeID": [1, 2, 3, 4, 5], "Salary": [5000, 6000, 4500, 7000, 5500], } employees_df = pd.DataFrame(employees_data) salaries_df = pd.DataFrame(salaries_data) # Function doc string to give more context to the model for use of this skill @skill def plot_salaries(names: list[str], salaries: list[int]): """ Displays the bar chart having name on x-axis and salaries on y-axis Args: names (list[str]): Employees' names salaries (list[int]): Salaries """ # plot bars import matplotlib.pyplot as plt plt.bar(names, salaries) plt.xlabel("Employee Name") plt.ylabel("Salary") plt.title("Employee Salaries") plt.xticks(rotation=45) # Adding count above for each bar for i, salary in enumerate(salaries): plt.text(i, salary \+ 1000, str(salary), ha='center', va='bottom') plt.show() agent = Agent([employees_df, salaries_df], config = {'llm': llm}) agent.add_skills(plot_salaries) response = agent.chat("Plot the employee salaries against names")
O agente determinará se é apropriado empregar a funcionalidade que foi alocada ao Pandas AI ou renunciar à sua utilização.
Ao integrar a proficiência e um agente, é possível obter maior controle sobre o resultado da análise do quadro de dados.
Pandas AI provou ser uma ferramenta conveniente para facilitar tarefas de análise de dados através de sua integração com Language Model (LLM). Ao utilizar esse recurso, pode-se reduzir significativamente o tempo gasto na escrita do código e concentrar-se nos aspectos mais cruciais do processo de análise.
*️⃣ Link da fonte: