Article
· Mai 29, 2023 10m de lecture

Embedded Python et Pandas - Partie 1

Introduction

L'analyse des données est un aspect crucial de la prise de décision commerciale dans le monde moderne où tout va très vite. Les organisations s'appuient fortement sur l'analyse des données pour prendre des décisions éclairées et garder une longueur d'avance sur la concurrence. Dans cet article, nous allons explorer comment l'analyse de données peut être réalisée en utilisant Pandas et Intersystems Embedded Python. Nous discuterons des bases de Pandas, des avantages de l'utilisation d'Intersystems Embedded Python et de la façon dont ils peuvent être utilisés ensemble pour réaliser des analyses de données efficaces.

Pandas : à quoi ça sert ?

Pandas est un outil polyvalent qui peut être utilisé pour une large gamme de tâches, à tel point qu'il est peut-être plus facile de dresser la liste de ce qu'il ne peut pas faire plutôt que de ce qu'il peut faire.

Essentiellement, Pandas abrite vos données. Il vous permet de nettoyer, de transformer et d'analyser vos données afin de vous familiariser avec elles. Par exemple, si vous avez un ensemble de données enregistré dans un fichier CSV sur votre ordinateur, Pandas peut extraire les données dans une structure de type tableau appelée DataFrame. Avec ce DataFrame, vous pouvez effectuer diverses tâches telles que :

  • Calculer des statistiques et répondre à des questions sur les données, par exemple trouver la moyenne, la médiane, le maximum ou le minimum de chaque colonne, déterminer s'il existe une corrélation entre les colonnes ou explorer la distribution des données dans une colonne spécifique.
  • Nettoyer les données en supprimant les valeurs manquantes ou en filtrant les lignes et les colonnes sur la base de certains critères.
  • Visualiser les données à l'aide de Matplotlib, qui vous permet de tracer des barres, des lignes, des histogrammes, des bulles, etc.
  • Renvoyer les données nettoyées et transformées dans un fichier CSV, une base de données ou un autre type de fichier.

Avant de se lancer dans la modélisation ou les visualisations complexes, il est essentiel d'avoir une solide compréhension de la nature de votre ensemble de données, et pandas constitue le meilleur moyen d'y parvenir.
 

Avantages de l'utilisation de Python intégré d'Intersystems

Python intégré d'Intersystems est un environnement d'exécution Python intégré à la plate-forme de données d'Intersystems. Il fournit un moyen sûr et efficace d'exécuter du code Python au sein de la plateforme de données, sans avoir à quitter l'environnement de la plateforme. Cela signifie que les analystes de données peuvent effectuer des tâches d'analyse de données sans avoir à passer d'un environnement à l'autre, ce qui se traduit par une efficacité et une productivité accrues.

 

Combinaison de Pandas et de Python intégré d'Intersystems

En combinant Pandas et Python intégré d'Intersystems, les analystes de données peuvent effectuer des tâches d'analyse de données en toute simplicité. Python intégré d'Intersystems fournit un environnement d'exécution sécurisé et efficace pour l'exécution du code Python, tandis que Pandas fournit un ensemble puissant d'outils de manipulation de données. Ces deux solutions offrent une solution complète d'analyse de données pour les organisations.
 

Installation de Pandas.

Installation d'un paquet Python

Pour utiliser Pandas avec Python intégré, vous devez l'installer en tant que paquet Python. Voici les étapes de l'installation de Pandas :

  • Ouvrez une invite de commande en mode Administrateur (sous Windows).
  • Naviguez vers le répertoire <installdir>/bin dans l'invite de commande.
  • Exécutez la commande suivante pour installer Pandas : irispip install --target <installdir>\mgr\python pandas Cette commande installe Pandas dans le répertoire <installdir>/mgr/python, qui est recommandé par InterSystems. Notez que la commande exacte peut différer en fonction du paquet que vous installez. Remplacez simplement pandas par le nom du paquet que vous souhaitez installer.

Voilà, c'est fait ! Vous pouvez maintenant utiliser Pandas avec Python intégré d'InterSystems.

irispip install --target C:\InterSystems\IRIS\mgr\python pandas


Maintenant que nous avons installé Pandas, nous pouvons commencer à travailler avec le jeu de données sur les employés. Voici les étapes à suivre pour lire le fichier CSV dans un Pandas DataFrame et effectuer un nettoyage et une analyse des données :

Tout d'abord, créons une nouvelle instance de python

Set python = ##class(%SYS.Python).%New()

Importation de Bibliothèques Python, dans ce cas je vais importer pandas et builtins

Set pd = python.Import("pandas")

#;Pour importer les fonctions intégrées qui font partie de la bibliothèque standard de Python
Set builtins = python.Import("builtins")

Importation de données dans la bibliothèque pandas

Il existe plusieurs façons de lire des données dans un DataFrame Pandas à l'aide de Python intégré. Voici trois méthodes courantes.
J'utilise le fichier modèle suivant comme exemple.

Lecture de données à partir d'un fichier CSV.

Utilisez read_csv() avec le trajet du fichier CSV pour lire des valeurs séparées par des virgules.

Set df = pd."read_csv"("C:\InterSystems\employees.csv")

 

Importation de fichiers texte

La lecture des fichiers texte est similaire à celle des fichiers CSV. La seule nuance est que vous devez spécifier un séparateur avec l'argument sep, comme indiqué ci-dessous. L'argument séparateur fait référence au symbole utilisé pour séparer les lignes dans un DataFrame. La virgule (sep = ","), l'espace (sep = "\s"), la tabulation (sep = "\t"), et les deux points (sep = " :") sont les séparateurs les plus couramment utilisés. Ici, \s représente un seul caractère d'espacement.

Set df = pd."read_csv"("employees.txt",{"sep":"\s"})

 

Importation de fichiers Excel

Pour importer des fichiers Excel avec une seule feuille, la fonction "read_excel()" peut être utilisée avec le chemin d'accès au fichier en entrée. Par exemple, le code df = pd.read_excel('employees.xlsx') lit un fichier Excel nommé "diabetes.xlsx" et enregistre son contenu dans un DataFrame appelé "df".

D'autres arguments peuvent également être spécifiés, comme l'argument header qui détermine quelle ligne devient l'en-tête du DataFrame. Par défaut, header est fixé à 0, ce qui signifie que la première ligne devient l'en-tête ou les noms de colonnes. Si vous souhaitez spécifier des noms de colonnes, vous pouvez passer une liste de noms à l'argument names. Si le fichier contient un index de ligne, vous pouvez utiliser l'argument index_col pour le spécifier.

Il est important de noter que dans un DataFrame pandas ou une Series pandas, l'index est un identifiant qui pointe vers l'emplacement d'une ligne ou d'une colonne. Il étiquette la ligne ou la colonne d'un DataFrame et vous permet d'accéder à une ligne ou une colonne spécifique en utilisant son index. L'index de ligne peut être une plage de valeurs, une série chronologique, un identifiant unique (par exemple, l'identifiant d'un employé) ou d'autres types de données. Pour les colonnes, l'index est généralement une chaîne de caractères indiquant le nom de la colonne.

Set df = pd."read_excel"("employees.xlsx")

 

Importation de fichiers Excel (plusieurs feuilles) {#importing-excel-files-(multiple-sheets)}

La lecture de fichiers Excel avec plusieurs feuilles n'est pas très différente. Vous devez juste spécifier un argument supplémentaire, sheet_name, où vous pouvez soit passer une chaîne pour le nom de la feuille, soit un entier pour la position de la feuille (notez que Python utilise l'indexation 0, où la première feuille est accessible avec sheet_name = 0).

#; Extracting the second sheet since Python uses 0-indexing
Set df = pd."read_excel"("employee.xlsx", {"sheet_name":"1"})

 

Lecture de données à partir d'un fichier JSON.

Set df = pd."read_json"("employees.json")

Examinons les données contenues dans une dataframe.

Comment afficher des données en utilisant .head() et .tail() ?

Pour cela, nous pouvons utiliser la bibliothèque des builtins que nous avons importée (ZW fonctionne aussi wink )

do builtins.print(df.head())

 

Dressons la liste de toutes les colonnes de l'ensemble de données

Do builtins.print(df.columns)

Nettoyons les données

 

Convertissez la colonne " Start Date " (date de début) en un objet type datetime (heure de la journée).

Set  df."Start Date" = pd."to_datetime"(df."Start Date")

l'ensemble de données mis à jour se présente comme suit.

 

Convertissez la colonne 'Last Login Time' (heure de dernière connexion) en un objet de type 'datetime' (heure de la journée).

 

Set df."Last Login Time" = pd."to_datetime"(df."Last Login Time")

Les valeurs manquantes de la colonne "Salaire" sont complétées par le salaire moyen.

Set meanSal = df."Salary".mean()
Set df."Salary" = df."Salary".fillna(meanSal)

 

Réalisation d'une analyse.

Détérminaison du salaire moyen par genre.

Do builtins.print(df.groupby("Gender")."Salary".mean())

 

Calculation du pourcentage moyen de la prime par équipe.

Do builtins.print(df.groupby("Team")."Bonus %".mean())

 

Calculation du nombre de salariés recrutés chaque année.

 

Do builtins.print(df."Start Date".dt.year."value_counts"()."sort_index"())

 

CCalculation du nombre de salariés par ancienneté privilégiée.

Do builtins.print(df."Senior Management"."value_counts"())


 

Sortie de données dans pandas

Tout comme pandas peut importer des données à partir de différents types de fichiers, il vous permet également d'exporter des données dans différents formats. C'est notamment le cas lorsque les données sont transformées à l'aide de pandas et qu'elles doivent être sauvegardées localement sur votre machine. Voici comment exporter des DataFrames pandas dans différents formats.

Sortie d'une DataFrame dans un fichier CSV

Un DataFrame pandas (ici nous utilisons df) est enregistré comme fichier CSV en utilisant la méthode . "to_csv"().

do df."to_csv"("C:\Intersystems\employees_out.csv")

 

Sortie d'une DataFrame dans un fichier JSON

Exportation de l'objet DataFrame dans un fichier JSON en appelant la méthode . "to_json"().

do df."to_json"("C:\Intersystems\employees_out.json")

 

Sortie d'une DataFrame dans un fichier Excel

Appelez . "to_excel"() à partir de l'objet DataFrame pour l'enregistrer dans un fichier ".xls" ou ".xlsx".

do df."to_excel"("C:\Intersystems\employees_out.xlsx")

 

Créons un diagramme à barres de base qui montre le nombre d'employés recrutés chaque année.

pour cela, j'utilise matplotlib.pyplot
 

//importer matplotlib
Set plt = python.Import("matplotlib.pyplot")
//créer un nouveau cadre de données pour représenter le diagramme à barres
set df2 = df."Start Date".dt.year."value_counts"()."sort_index"().plot.bar()
//exporter la sortie en png
do plt.savefig("C:\Intersystems\barchart.png")
//nettoyage
do plt.close()

 
Voilà, c'est fait ! Avec ces étapes simples, vous devriez être en mesure de lire un fichier CSV, de nettoyer les données et d'effectuer quelques analyses de base à l'aide de Pandas dans Python intégré d'InterSystems.
 

Vidéo

Vous pouvez maintenant accéder à la vidéo en utilisant le lien fourni ci-dessous. La vidéo elle-même constitue une vue d'ensemble et un développement complet du tutoriel ci-dessus.
https://youtu.be/hbRQszxDTWU

Conclusion 

Le tutorial fourni ne couvre que les principes de base de ce que pandas peut faire. Avec pandas, vous pouvez effectuer une large gamme de tâches d'analyse, de visualisation, de filtrage et d'agrégation de données, ce qui en fait un outil inestimable dans tout flux de données. En outre, lorsqu'il est associé à d'autres paquets de science des données, vous pouvez créer des tableaux de bord interactifs, développer des modèles d'apprentissage automatique pour faire des prédictions, automatiser des flux de données, et bien d'autres choses encore. Pour approfondir votre compréhension de pandas, explorez les ressources répertoriées ci-dessous et accélérez votre parcours d'apprentissage.
 

Avertissement

Il est important de noter qu'il existe plusieurs façons d'utiliser Pandas avec InterSystems. L'article fourni est uniquement destiné à des fins éducatives et ne garantit pas l'approche la plus optimale. En tant qu'auteur, j'apprends et j'explore continuellement les capacités de Pandas, et par conséquent, il peut y avoir des méthodes ou des techniques alternatives qui pourraient produire de meilleurs résultats. Par conséquent, les lecteurs doivent faire preuve de discernement et de prudence lorsqu'ils appliquent les renseignements présentés dans l'article à leurs projets respectifs.

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer