Introduction à Pandas AI
Qu'est-ce que Pandas AI ?
Pandas AI est une bibliothèque Python qui utilise des modèles d'IA génératifs pour suralimenter les capacités de pandas. Il a été créé pour compléter la bibliothèque pandas, un outil largement utilisé pour l'analyse et la manipulation des données.
Les utilisateurs peuvent résumer les données des data frames pandas en utilisant le langage naturel. En outre, vous pouvez l'utiliser pour tracer des visualisations complexes, manipuler des dataframes et générer des informations commerciales.
Image de Pandas-AI
Pandas AI est facile à utiliser pour les débutants ; même une personne ayant peu de connaissances techniques peut l'utiliser pour effectuer des tâches d'analyse de données complexes. Son utilité permet d'analyser les données plus rapidement et de tirer des conclusions significatives.
Premiers pas avec Pandas AI
Dans cette section, nous allons apprendre à installer et à configurer Pandas AI pour l'analyse des données.
Tout d'abord, nous allons installer Pandas AI à l'aide de pip.
pip install pandasai
Installation optionnelle : Nous pouvons également installer la dépendance Google PaLM en utilisant le code suivant.
pip install pandasai[google]
Deuxièmement, nous devons obtenir une clé API OpenAI et la stocker en tant que variable d'environnement en suivant le tutoriel sur l'utilisation de GPT-3.5 et GPT-4 via l'API OpenAI en Python.
Enfin, nous devons importer les fonctions essentielles, définir la clé OpenAI dans le wrapper LLM API et instancier un objet PandasAI. Nous utiliserons cet objet pour exécuter des invites sur un ou plusieurs dataFrame 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)
Outre OpenAI GPT-3.5, vous pouvez utiliser le wrapper LLM API pour Google PALM (Bison) ou même des modèles open-source disponibles sur HuggingFace, comme Starcoder et 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")
Vous pouvez également créer un fichier .env
et éviter de créer un fichier api_token
. Pour cela, vous devez ajouter des clés API au fichier .env
en utilisant le modèle suivant :
HUGGINGFACE_API_KEY=
OPENAI_API_KEY=
Utilisations de base de Pandas AI
Dans ce cas d'utilisation basique, nous chargerons les données des films Netflix à l'aide de la bibliothèque pandas. L'ensemble de données comprend plus de 8 500 films et émissions de télévision disponibles sur Netflix.
import pandas as pd
df = pd.read_csv("netflix_dataset.csv", index_col=0)
df.head(3)
Suivez notre tutoriel Python pandas pour apprendre tout ce que vous pouvez faire avec la bibliothèque Python pandas.
En passant un DataFrame et une invite, nous pouvons demander à Pandas AI de générer une analyse et de manipuler le jeu de données. Dans notre cas, nous demanderons à Pandas AI d'afficher les enregistrements des cinq films les plus longs.
pandas_ai.run(df, prompt='What are 5 longest duration movies?')
Comme on peut le voir, le film qui dure le plus longtemps est Black Mirror, avec 312 minutes.
Demandons-lui de n'afficher que les noms des cinq films les plus longs.
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']
Remarque : si vous souhaitez renforcer davantage votre confidentialité, vous pouvez instancier PandasAI avec enforce_privacy = True
, qui n'enverra pas les en-têtes de l'ensemble de données (mais seulement les noms de colonnes) au LLM.
Nous pouvons même demander à Pandas AI d'effectuer des tâches complexes telles que le regroupement, le tri et la combinaison.
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
Remarque : certaines invites techniques peuvent ne pas fonctionner, en particulier lorsque vous demandez de regrouper des colonnes.
Utilisations avancées de l'IA de Pandas
Un cas d'utilisation avancé de Pandas AI consiste à générer des visualisations de données complexes et des analyses commerciales à l'aide de plusieurs cadres de données.
Dans le premier exemple, nous pourrions écrire une invite pour générer un diagramme à barres montrant le nombre de titres par année, classés par type.
pandas_ai.run(df, prompt='Plot the bar chart of type of media for each year release, using different colors.')
Note : Vous pouvez enregistrer tous les graphiques générés par Pandas AI en définissant le paramètre save_charts
sur True
. Par exemple, PandasAI(llm, save_charts=True)
. Les graphiques seront sauvegardés sur le site ./pandasai/exports/charts directory
.
Dans un deuxième exemple, nous allons créer trois cadres de données et les utiliser pour générer des analyses avec Pandas AI.
Pandas AI commencera par relier df1
à df2
sur la base du "magasin" et df2
à df3
sur la base de l'"emplacement". Il traitera ensuite l'ensemble des données combinées et produira un résultat en quelques secondes. Il aurait fallu au moins 10 minutes à un scientifique pour comprendre les données et trouver une solution.
# 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
Vous pouvez également effectuer des tâches d'analyse de données complexes en suivant un cours sur la manipulation de données avec pandas.
Interface de ligne de commande (CLI) de Pandas AI
Pandas AI CLI est un outil expérimental, et vous pouvez l'installer en clonant le dépôt et en accédant directement au projet.
!git clone https://github.com/gventuri/pandas-ai.git
%cd pandas-ai
Ensuite, nous utiliserons la poésie pour créer et activer un environnement virtuel.
!poetry shell
Note : si la poésie n'est pas installée dans votre système, vous pouvez l'installer en utilisant curl -sSL https://install.python-poetry.org | python3 -
Utilisez le code suivant pour installer les dépendances dans l'environnement activé.
!poetry install
Enfin, ouvrez un terminal et utilisez l'outil CLI de Pandas AI. Vous devez fournir un jeu de données, un nom de modèle et une invite. Si aucun jeton n'est fourni, pai
récupère le jeton dans le fichier .env
.
!pai -d "netflix_dataset.csv" -m "openai" -p "What are 5 longest duration movies?"
- -d, --dataset : Le chemin d'accès au fichier de l'ensemble de données.
- -t, --token : Votre token HuggingFace ou OpenAI API.
- -m, --modèle : Le modèle LLM à utiliser. Les options sont les suivantes :
openai
,open-assistant
,starcoder, falcon
,azure-openai
, ougoogle-palm
. - -p, --prompt : L'invite pour l'exécution de PandasAI.
Lisez la documentation de Pandas AI pour découvrir d'autres fonctions et caractéristiques qui peuvent simplifier votre flux de travail.
Conclusion
Pandas AI a le potentiel de révolutionner l'analyse des données en s'appuyant sur de grands modèles de langage pour générer des informations à partir d'ensembles de données.
Alors que les data scientists passent généralement beaucoup de temps à nettoyer, explorer et visualiser les données, Pandas AI automatise un grand nombre de ces tâches répétitives.
Cependant, comme tous les outils d'IA, Pandas AI a encore des limites et ne peut pas remplacer complètement les humains. Les résultats analysés nécessitent souvent une vérification humaine pour s'assurer de leur exactitude et identifier les cas limites.
Dans cet article, nous avons appris à installer, configurer et utiliser Pandas AI pour l'analyse de données. Nous avons utilisé Pandas AI pour effectuer des tâches d'analyse de données, générer des visualisations de données et exploiter plusieurs dataFrame pour obtenir des informations commerciales. Si vous souhaitez améliorer vos invites pour obtenir de meilleurs résultats, envisagez de suivre un cours d'introduction au ChatGPT ou de vous référer à l'Aide-mémoire du ChatGPT pour la science des données.
En tant que data scientist certifié, je suis passionné par l'utilisation des technologies de pointe pour créer des applications innovantes d'apprentissage automatique. Avec une solide expérience en reconnaissance vocale, en analyse de données et en reporting, en MLOps, en IA conversationnelle et en NLP, j'ai affiné mes compétences dans le développement de systèmes intelligents qui peuvent avoir un impact réel. En plus de mon expertise technique, je suis également un communicateur compétent, doué pour distiller des concepts complexes dans un langage clair et concis. En conséquence, je suis devenu un blogueur recherché dans le domaine de la science des données, partageant mes idées et mes expériences avec une communauté grandissante de professionnels des données. Actuellement, je me concentre sur la création et l'édition de contenu, en travaillant avec de grands modèles linguistiques pour développer un contenu puissant et attrayant qui peut aider les entreprises et les particuliers à tirer le meilleur parti de leurs données.