Contents

Introdução ao PandasAI: a biblioteca Python de IA generativa

O Pandas é há muito tempo o padrão para a manipulação de conjuntos de dados e gestão de quadros de dados, mas com os rápidos avanços na inteligência artificial, surgiu uma nova biblioteca de código aberto conhecida como PandasAI, que incorpora capacidades de IA generativa no domínio do Pandas.

O PandasAI aumenta as capacidades do Pandas através da integração das suas capacidades de geração de inteligência artificial. Como resultado, é possível efetuar uma análise de dados através do processamento de linguagem natural com o PandasAI, em que o sistema processa o pedido e fornece os resultados sem necessitar de qualquer intervenção manual.

Instalar o PandasAI

O PandasAI está disponível através do PyPI (Python Package Index).

Crie um novo ambiente virtual

se estiver a utilizar um IDE local. Depois,

utilize o gestor de pacotes pip

para o instalar.

 pip install pandasai 

É possível que surja um problema em que dois ou mais pacotes dos quais o notebook depende tenham versões diferentes umas das outras, resultando num conflito de dependências.

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-colab-error.jpg

Por favor, evite reduzir a versão do IPython. Em vez disso, feche a sessão de tempo de execução atual e reabra-a para executar o bloco de código acima mencionado mais uma vez, o que deverá retificar o problema.

O código-fonte completo pode ser acedido através de um repositório GitHub, que

Compreender o conjunto de dados de amostra

O conjunto de dados de amostra que irá manipular com o PandasAI é o conjunto de dados California Housing Prices do Kaggle. Esse conjunto de dados contém informações sobre moradias do censo de 1990 da Califórnia. Ele tem dez colunas que fornecem estatísticas sobre essas casas. O cartão de dados para o ajudar a saber mais sobre este conjunto de dados está disponível em Kaggle . Abaixo estão as primeiras cinco linhas do conjunto de dados.

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-first-five-rows.jpg

Cada coluna individual indica um atributo estatístico distinto relativo a uma propriedade residencial.

Ligar o PandasAI ao modelo de linguagem grande

Para ligar o PandasAI a um modelo de linguagem grande (LLM)

como o do OpenAI, é necessário aceder à sua chave API. Para a obter, dirija-se à plataforma OpenAI . De seguida, inicie sessão na sua conta. SeleccioneAPI na página de opções que aparece a seguir.

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-openai-login.jpg

Siga estes passos para criar uma nova chave de API para a sua conta:1. Clique no ícone do seu perfil e seleccione “Ver chaves de API” no menu pendente.2.A página seguinte apresentará todas as suas chaves de API existentes. Para criar uma nova, clique no botão “Create New Secret Key” (Criar nova chave secreta) localizado no canto inferior direito da página.3. Depois de criar a sua nova chave de API, é essencial fornecer um nome exclusivo para ela. Este passo ajudá-lo-á a manter um registo das diferentes chaves de API, caso necessite de as utilizar mais tarde.

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-api-key.jpg

A geração de uma chave de API pelo OpenAI é necessária para ligar o PandasAI ao OpenAI. Esta chave deve ser cuidadosamente copiada, uma vez que será necessária durante o processo de estabelecimento de uma ligação. Para além disso, é importante manter a confidencialidade relativamente a esta chave, uma vez que qualquer indivíduo com acesso à mesma pode utilizar os seus recursos em nome do proprietário. Como tal, a utilização da API pode resultar na aplicação de encargos à conta do proprietário.

Posso oferecer uma frase alternativa para sua consideração? Com a devida autorização obtida através da chave da API, gentileza gerar um novo script Python e copiar e colar o trecho de código a seguir, que requer modificações mínimas na maioria dos casos.

 import pandas as pd
from pandasai import PandasAI

# Replace with your dataset or dataframe
df = pd.read_csv("/content/housing.csv")

# Instantiate a LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token="your API token")

pandas_ai = PandasAI(llm)
 

O código acima importa as bibliotecas PandasAI e Pandas e, em seguida, passa a examinar um conjunto de dados. Por fim, instancia o OpenAI LLM.

A sua prontidão foi atingida para comunicação com a sua informação.

Realizar tarefas simples utilizando o PandasAI

Utilize o objeto PandasAI passando-lhe o seu quadro de dados e o pedido de informação. Comece por apresentar as cinco linhas iniciais do seu conjunto de dados utilizando a função print.

 pandas_ai(df, prompt='What are the first five rows of the dataset?') 

O resultado da instrução acima mencionada é resumido da seguinte forma:

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-first-five-rows.jpg

A replicação deste resultado confirma que o PandasAI produz resultados exactos, estabelecendo assim a sua fiabilidade.

Examine a quantidade de colunas contidas no seu conjunto de dados.

 pandas_ai(df, prompt='How many columns are in the dataset? ') 

O código mencionado acima retorna a quantidade exata de colunas no conjunto de dados California Housing, que é dez (10).

Examinar o conjunto de dados para detetar quaisquer instâncias de dados em falta.

 pandas_ai(df, prompt='Are there any missing values in the dataset?') 

Os resultados do PandasAI indicam que existem 207 instâncias de dados em falta na coluna “total\_bedrooms”.

O PandasAI permite-lhe executar várias tarefas simples e não se limita aos exemplos mencionados anteriormente.

Realização de consultas complexas com o PandasAI

O PandasAI é capaz de executar operações complexas em conjuntos de dados.No caso do conjunto de dados de habitação, podemos utilizar o seguinte prompt para determinar a quantidade de residências situadas numa ilha, com um custo superior a cem mil dólares e com dez ou mais quartos.

 pandas_ai(df,prompt= "How many houses have a value greater than 100000,"
                    " are in an island and total bedrooms is more than 10?") 

O resultado obtido é congruente com o resultado gerado pelo PandasAI, que é cinco.

Um analista de dados pode precisar de muito esforço e tempo para compor e retificar consultas complexas. Por outro lado, esta tarefa pode ser realizada com o mínimo de esforço utilizando o PandasAI, uma vez que é necessário apenas contemplar o objetivo específico e deixar o software tratar do restante processo.

Desenhar gráficos utilizando PandasAI

A visualização é um aspeto integral de qualquer procedimento de análise de dados, servindo como um meio para os analistas de dados representarem a informação num formato facilmente compreensível para os humanos. A biblioteca PandasAI inclui uma funcionalidade para criar gráficos, em que basta fornecer o conjunto de dados e especificar a configuração pretendida.

Criar um histograma para cada coluna no conjunto de dados para representar visualmente a distribuição das variáveis.

 pandas_ai(df, prompt= "Plot a histogram for each column in the dataset") 

O resultado é o seguinte:

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-histogram-output-1.jpg

O PandasAI demonstrou a capacidade de gerar um histograma para cada coluna no conjunto de dados, sem exigir a menção explícita dos nomes das colunas na consulta.

A utilização do PandasAI permite a geração de visualizações automaticamente, sem a necessidade de instruções explícitas sobre o gráfico específico a ser plotado. A título de ilustração, suponhamos que se pretende determinar a correlação presente no conjunto de dados de habitação. Para isso, poder-se-ia fornecer uma instrução como:

 pandas_ai(df, prompt= "Plot the correlation in the dataset") 

Uma matriz de correlação é visualizada pelo PandasAI, como mostrado abaixo:

/pt/images/manipulating-datasets-and-dataframes-with-pandasai-correlation-matrix.jpg

A biblioteca gera uma representação visual dos dados na forma de um mapa de calor, que mostra a intensidade de uma determinada variável ou relação em diferentes pontos de um determinado conjunto de dados. Além disso, cria uma matriz de correlação para mostrar a força e a direção das relações lineares entre várias variáveis.

Passando vários quadros de dados para a instância do PandasAI

Trabalhar com vários quadros de dados pode muitas vezes representar um desafio, particularmente para indivíduos que são novatos na análise de dados. Para resolver este problema, o PandasAI oferece uma solução intuitiva através da qual os utilizadores podem simplesmente passar vários quadros de dados e utilizar prompts para manipular a informação neles contida.

Crie dois quadros de dados usando o Pandas.

 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) 

Quando desejar obter informações sobre um assunto que englobe ambos os quadros de dados, pode dirigir a sua consulta ao PandasAI passando ambos os quadros de dados à sua instância.

 pandas_ai([employees_df, salaries_df], "Which employee has the largest salary?")
 

O resultado de saída é Olívia, que é de facto a solução adequada.

A análise de dados tornou-se mais acessível com o advento do PandasAI, uma ferramenta que permite aos utilizadores conversar com os seus dados e efetuar análises sem esforço.

Compreender a tecnologia que alimenta o PandasAI

A utilização do PandasAI simplifica o procedimento de análise de dados, permitindo assim que os analistas de dados poupem uma quantidade significativa de tempo. No entanto, oculta o funcionamento intrincado do seu funcionamento. Para obter uma compreensão abrangente e manter-se a par dos avanços no domínio da IA generativa, é necessário familiarizar-se com esta tecnologia formidável.