Beau et facile traçage en Python – Pandas + Bokeh
Une seule ligne de code pour créer un tracé interactif de la trame de données Pandas à Bokeh
Bien que Matplotlib puisse satisfaire tous nos besoins lorsque nous voulons tracer quelque chose en Python, il est parfois long de créer un beau graphique en l’utilisant. Eh bien, parfois, nous pouvons vouloir montrer quelque chose au patron afin que ce soit bien d’avoir des parcelles magnifiques et interactives.
Il y a beaucoup d’excellentes bibliothèques qui peuvent le faire, Bokeh en fait partie. Cependant, cela peut également prendre un certain temps pour apprendre à utiliser ces bibliothèques. En fait, quelqu’un a déjà résolu ce problème pour nous. Voici une bibliothèque appelée Pandas-Bokeh
, qui consomme des Pandas directement et restitue les données à l’aide de Bokeh. La syntaxe est extrêmement simple et je pense que vous pouvez commencer à l’utiliser en un rien de temps!
Permettez-moi de montrer la bibliothèque à l’aide d’un exemple.
Tout d’abord, nous devons installer la bibliothèque en utilisant pip
.
pip install pandas_bokeh
Après l’installation, nous devons importer numpy
, pandas
et bien sûr le pandas_bokeh
bibliothèque.
import numpy as np
import pandas as pd
import pandas_bokeh
Je voudrais générer des données aléatoires à des fins de démonstration. Supposons que nous ayons un ensemble de données d’un site Web de commerce électronique. L’ensemble de données contient les ventes de 2010 à 2019 pour trois catégories. Générons cet ensemble de données à l’aide de Numpy.
df = pd.DataFrame({
'Year': np.arange(2010, 2020),
'Category-A': np.random.uniform(9000, 15000, 10),
'Category-B': np.random.uniform(9000, 15000, 10),
'Category-C': np.random.uniform(9000, 15000, 10)
})
Maintenant, nous avons des données dans notre cadre de données Pandas. Avant de commencer à utiliser pandas_bokeh
pour tracer les données, nous devons définir la sortie sur le bloc-notes, qui fonctionnera pour les blocs-notes Jupyter / iPython. Je vais expliquer pourquoi nous devons le faire plus tard, c’est parce que pandas_bokeh
prend en charge un autre emplacement de sortie.
pandas_bokeh.output_notebook()
D’ACCORD. nous pouvons tracer la trame de données maintenant.
df.plot_bokeh(
kind='bar',
x='Year',
y=['Category-A', 'Category-B', 'Category-C'],
xlabel='Category',
ylabel='Annual Sales',
title='Annual Sales by Category'
)
N’est-ce pas beaucoup plus beau que celui par défaut matplotlib
? Voyons rapidement les paramètres:
-
kind
quel type de graphique voulez-vous tracer? Actuellement,pandas_bokeh
prend en charge les types de graphiques suivants: ligne, point, pas, dispersion, barre, histogramme, zone, camembert et carte. -
x
ety
Entrez simplement le (s) nom (s) de colonne de la trame de données Pandas -
xlabel
etylabel
L’étiquette de l’axe des x et de l’axe des y relativement -
title
Le titre du graphique
Donc, vous avez vu combien il est facile de créer un si beau complot. Plus important encore, il est interactif. Ci-dessous, un GIF du dépôt officiel GitHub.
Bien sûr, la bibliothèque prend également en charge de nombreux paramètres avancés qui nous permettent de personnaliser l’intrigue si nécessaire.
Voici un autre exemple utilisant le même ensemble de données, mais tracez les données à l’aide d’un graphique linéaire.
df.plot_bokeh.line(
x='Year',
y=['Category-A', 'Category-B', 'Category-C'],
figsize=(900, 500),
ylim=(5000, 20000),
zooming=False,
panning=False
)
Veuillez noter que j’utilise ici df.plot_bokeh.line(...)
ce qui équivaut à df.plot_bokeh(kind='line', ...)
.
-
figsize
Définissez la taille du tracé dans un tuple (largeur, hauteur) -
xlim
etylim
Définissez respectivement les plages par défaut de l’axe x et de l’axe y. Ici, je ne mets que pour l’axe y. -
zooming
Activer / désactiver le geste de zoom -
panning
Activer / désactiver le mouvement de panoramique
Vous souvenez-vous que nous avons défini la sortie sur le portable?
pandas_bokeh.output_notebook()
Outre le bloc-notes Jupyter, nous pouvons également définir la sortie dans un fichier HTML. Ainsi, le graphique sera enregistré et sorti dans un fichier HTML qui peut être conservé et distribué.
Dans cet article, j’ai montré comment utiliser le pandas_bokeh
bibliothèque pour tracer votre trame de données Pandas de bout en bout avec un code extrêmement simple mais une belle présentation avec des fonctionnalités interactives.
Il s’avère que la bibliothèque peut ne pas satisfaire tous vos besoins lorsque vous avez de nombreuses exigences de rendu spéciales, mais c’est une excellente bibliothèque lorsque vous souhaitez simplement créer un graphique typique pour votre ensemble de données.