Les tableaux croisés dynamiques continuent d'être parmi les outils les plus vénérés et largement utilisés dans MS Excel. Que vous soyez un analyste de données, un ingénieur de données ou simplement un utilisateur régulier, il y a de fortes chances que vous ayez déjà un faible pour MS Excel.
Néanmoins, il existe une possibilité croissante de répliquer les outils et utilitaires de MS Excel, en particulier en Python. Saviez-vous que vous pouvez créer des tableaux croisés dynamiques étendus dans les DataFrames de Python avec quelques lignes de code lui-même ?
Oui c'est correct; si vous êtes intrigué, voici comment vous pouvez le faire.
Pré-requis pour créer des tableaux croisés dynamiques
Comme tout autre langage de programmation, même Python a besoin que vous remplissiez quelques prérequis avant de pouvoir passer au codage.
Pour obtenir l'expérience la plus optimisée lors de la création de votre tout premier tableau croisé dynamique en Python, voici ce dont vous aurez besoin :
- EDI Python : La plupart des codes Python ont un environnement de développement intégré (IDE) préinstallé sur leur système. Il y a plusieurs IDE compatibles Python sur le marché, y compris Jupyter Notebook, Spyder, PyCharm et bien d'autres.
- Exemple de données: À titre d'illustration, voici un exemple d'ensemble de données sur lequel vous pouvez travailler. Sinon, n'hésitez pas à modifier ces codes directement sur vos données en direct.
Lien de l'échantillon de données :Exemple d'hypermarché
Importation des bibliothèques essentielles
Étant donné que Python fonctionne sur le concept de bibliothèques tierces, vous devez importer le Pandas bibliothèque pour créer des pivots.
Vous pouvez utiliser Pandas pour importer un fichier Excel dans Python et stocker les données dans un DataFrame. Pour importer des Pandas, utilisez le importer commande de la manière suivante :
importer pandas comme pd
Comment créer des pivots en Python
Puisque la bibliothèque est maintenant disponible, vous devez importer le fichier Excel dans Python, qui est la base pour créer et tester des pivots en Python. Stockez les données importées dans un DataFrame avec le code suivant :
# Créer un nouveau DataFrame
# remplacer par votre propre chemin ici
chemin = "C://Utilisateurs//utilisateur/OneDrive//Desktop//"
# vous pouvez définir le nom du fichier ici
fichier = "Échantillon - Superstore.xls"
df = pd.read_excel (chemin + fichier)
df.tête()
Où:
- df : Nom de la variable pour stocker les données DataFrame
- pd : Alias pour la bibliothèque Pandas
- read_excel() : Fonction Pandas pour lire un fichier Excel en Python
- chemin: L'emplacement où le fichier Excel est stocké (Sample Superstore)
- dossier: Nom du fichier à importer
- tête(): Affiche les cinq premières lignes du DataFrame, par défaut
Le code ci-dessus importe le fichier Excel dans Python et stocke les données dans un DataFrame. Finalement, le tête La fonction affiche les cinq premières lignes de données.
Cette fonction est pratique pour s'assurer que les données sont importées correctement dans Python.
Quels champs de tableau croisé dynamique existent en Python ?
Comme son homologue Excel, un tableau croisé dynamique a un ensemble similaire de champs en Python. Voici quelques champs que vous devez connaître :
- Données: Le champ de données fait référence aux données stockées dans un Python DataFrame
- Valeurs: Données en colonnes utilisées dans un pivot
- Indice: Une ou des colonne(s) d'index pour regrouper les données
- Colonnes: Les colonnes aident à agréger les données existantes dans un DataFrame
Objectif derrière l'utilisation de la fonction d'index
Étant donné que la fonction d'index est l'élément principal d'un tableau croisé dynamique, elle renvoie la disposition de base des données. En d'autres termes, vous pouvez regrouper vos données avec le indice fonction.
Supposons que vous souhaitiez afficher des valeurs agrégées pour les produits répertoriés dans le Segment colonne. Vous pouvez calculer un agrégat prédéfini (valeur moyenne) en Python en définissant la colonne désignée en tant que valeur d'index.
df.pivot_table (index = "Segment")
Où:
- df:DataFrame contenant les données
- tableau_pivot:Fonction de tableau croisé dynamique en Python
- indice: Fonction intégrée pour définir une colonne en tant qu'index
- Segment: Colonne à utiliser comme valeur d'index
Les noms de variables de Python sont sensibles à la casse, évitez donc de vous éloigner des noms de variables prédéfinis répertoriés dans ce guide.
Comment utiliser les valeurs multi-index
Lorsque vous souhaitez utiliser plusieurs colonnes d'index, vous pouvez définir les noms de colonne dans un liste dans la fonction index. Tout ce que vous avez à faire est de spécifier les noms de colonne dans un ensemble de crochets ([ ]), comme indiqué ci-dessous:
df.pivot_table (index = ["Catégorie", "Sous-catégorie"])
La fonction pivot indente la colonne d'index dans la sortie. Python affiche le moyenne de toutes les valeurs numériques par rapport à chaque valeur d'indice.
Apprendre à restreindre les valeurs dans la sortie
Étant donné que Python sélectionne toutes les colonnes numériques par défaut, vous pouvez restreindre les valeurs pour modifier les résultats affichés dans la sortie finale. Utilisez le valeurs fonction pour définir les colonnes que vous souhaitez voir.
df.pivot_table (index = ["Région", "Catégorie", "Sous-catégorie"], valeurs = "Ventes")
Dans la sortie finale, il y aura trois colonnes d'index et les valeurs moyennes de la colonne Ventes opposées à chaque élément.
Définition des fonctions d'agrégation dans le tableau croisé dynamique
Que se passe-t-il lorsque vous ne souhaitez pas calculer les valeurs moyennes par défaut? Le tableau croisé dynamique a beaucoup d'autres fonctionnalités, qui vont au-delà du calcul d'une simple moyenne.
Voici comment écrire le code :
df.pivot_table (index = ["Catégorie"], valeurs = "Ventes", aggfunc = [somme, max, min, longueur])
Où:
- somme: Calcule la somme des valeurs
- maximum : Calcule la valeur maximale
- min : Calcule la valeur maximale
- len : Calcule le nombre de valeurs
Vous pouvez également définir chacune de ces fonctions dans des lignes de code distinctes.
Comment ajouter des totaux généraux au tableau croisé dynamique
Aucune ressource de données n'est complète sans les totaux généraux. Pour calculer et afficher les totaux généraux par colonne de données, utilisez la marges et nom_marges fonction.
df.pivot_table (index = ["Catégorie"], valeurs = "Ventes", aggfunc = [somme, max, min, longueur], margins=True, margins_name='Totaux généraux')
Où:
- marges : Fonction de calcul du grand total
- nom_marges : Spécifiez le nom de la catégorie dans la colonne d'index (par exemple, Grand Totaux)
Modifier et utiliser le code final
Voici le résumé de code final :
importer pandas comme pd
# remplacer par votre propre chemin ici
chemin = "C://Utilisateurs//utilisateur/OneDrive//Desktop//"
# vous pouvez définir le nom du fichier ici
fichier = "Échantillon - Superstore.xls"
df = pd.read_excel (chemin + fichier)
df.pivot_table (index = ["Région", "Catégorie", "Sous-catégorie"], valeurs = "Ventes",
aggfunc = [somme, max, min, longueur],
marges=Vrai,
nom_marges='Totaux généraux')
Créer des tableaux croisés dynamiques en Python
Lorsque vous utilisez des tableaux croisés dynamiques, les options sont tout simplement infinies. Python vous permet de gérer facilement de vastes tableaux de données sans vous soucier des écarts de données et des retards du système.
Étant donné que les fonctionnalités de Python ne se limitent pas à la simple condensation des données dans des pivots, vous pouvez combiner plusieurs classeurs et feuilles Excel, tout en exécutant une série de fonctions connexes avec Python.
Avec Python, il y a toujours quelque chose de nouveau à l'horizon.