Pynarratif: une excellente bibliothèque Python pour la narration des données

 Pynarratif: une excellente bibliothèque Python pour la narration des données

Pynarratif: une excellente bibliothèque Python pour la narration des donnéesPynarratif: une excellente bibliothèque Python pour la narration des données
Image de l’auteur | Toile

Disons qu’il y a deux personnes, la personne A et la personne B. Vous leur donnez le même ensemble de données à analyser. Mais d’une manière ou d’une autre, l’histoire de A sort mieux que celle de B. Pourquoi? Parce que ce ne sont pas seulement les données elle-même qui comptent. Mais dans quelle mesure vous pouvez transformer ces données en une histoire que les gens peuvent réellement comprendre. Et soyons réels. La plupart d’entre nous, les développeurs ont du mal avec cette partie. Nous sommes logiques. Nous sommes directement au point. Mais la narration? Pas toujours notre costume fort.

Il y a des tonnes de bibliothèques dont vous avez probablement entendu parler comme Matplotlib, Seaborn ou Altair qui sont largement utilisées pour la visualisation des données. Mais ils se concentrent principalement sur le dessin des graphiques et ils prennent généralement plus de temps et plus de lignes de code. Donc, ils sont meilleurs pour l’analyse technique que la narration. Mais voici la bonne nouvelle. Il y a une nouvelle bibliothèque Python appelée Pynarrative qui facilite la narration. Il peut ajouter des sous-titres, mettre en évidence des points clés et guider votre public à travers les données. Dans cet article, je vous guiderai à travers comment utiliser le pynarratif. Nous couvrirons l’installation, comment créer des récits et je partagerai des ressources utiles à la fin. Alors, commençons:

Commencer avec le pynarratif

Installation et importations

Pour commencer, vous aurez besoin de Python (version 3.7 ou version ultérieure) et de certaines bibliothèques communes. Ouvrez votre terminal et exécutez la commande suivante:

pip install pynarrative pandas altair

Cela installera pynarratif avec ses dépendances requises (Pandas et Altair). Vous pouvez également créer un environnement virtuel d’abord pour garder les choses bien rangées. Après l’installation, importez les bibliothèques suivantes:

import pandas as pd
import pynarrative as pn
import altair as alt  # Optional if you want to customize charts

Utilisation du pynarratif pour construire une histoire


Une fois que vous avez les données, il est plus facile de créer le graphique narratif. Il y a une classe dans Pynarrative appelée Story qui s’enroule autour d’un tableau Altair. Voici le flux de base pour construire l’histoire:

  1. Créez une histoire pynarrative: Passez votre DataFrame à PN.Story et définissez le graphique avec les encodages Altair (comme Mark_Line (), Encode (), etc.).
  2. Ajouter des éléments narratifs: Méthodes de chaîne comme .add_title (), .add_context (), .add_annotation () et .add_next_steps () pour inclure des composants de texte.
  3. Rendez l’histoire: Enfin, appelez .Render () pour afficher la visualisation narrative complète.

Supposons que vous ayez un DATFrame DF avec des colonnes et de la valeur. Voici comment raconter une histoire autour:

chart = (pn.Story(df, width=600, height=400)
           .mark_line(color="steelblue")
           .encode(x='Year:O', y='Value:Q')
           .add_title("Yearly Trend", "2000-2020", title_color="#333")
           .add_context("Values have increased over time", position='top')
           .render())
chart

Voici ce que fait chaque partie:

  • .add_title("Yearly Trend", "2000-2020"): Place un titre principal et un sous-titre sur l’intrigue.
  • .add_context("Values have increased..."): Ajoute une note descriptive en haut du graphique.
  • .render(): Montre le graphique combiné final avec tous les éléments narratifs.

Vous pouvez également utiliser .add_annotation() pour souligner un point de données spécifique, ou .add_next_steps() Pour suggérer des actions (par exemple «Revoir Q4» ou lien vers plus d’informations).

Premier exemple: données Covid-19


Essayons un petit exemple en utilisant des dénombrements de cas Covid-19 maquillés:

covid_df = pd.DataFrame({
    'Month': ('Jan', 'Feb', 'Mar', 'Apr', 'May'),
    'Cases': (1000, 3000, 7000, 5000, 2000)
})

# Create a narrative chart
covid_story = (pn.Story(covid_df)
                 .mark_line(color="firebrick")
                 .encode(x='Month:O', y='Cases:Q')
                 .add_title("COVID-19 Cases Over Time",
                            "Monthly trend",
                            title_color="#b22222")
                 .add_context("Cases peaked in March and declined in April/May", position='top')
                 .add_annotation('Mar', 7000, "Peak in March", arrow_color="gray", label_color="black")
                 .render())
covid_story

Sortir:


Sortie: Exemple 1Sortie: Exemple 1

Ce code a produit un graphique en ligne des cas par mois. Le add_context L’appel écrit une phrase au sommet expliquant la tendance (mars pic, puis décline). Le add_annotation L’appel met une étiquette au point de mars («Peak en mars») avec une flèche pointant vers ce point de données. Au lieu de simplement voir des nombres sur un graphique, votre public sait maintenant ce qui s’est passé et pourquoi il est important. Si vous deviez faire la même chose en utilisant Altair ou Matplotlib, vous devrez déterminer manuellement les coordonnées et les placements de texte, qui peuvent plusieurs lignes de code.

Deuxième exemple: données de chômage


Pynarrative fonctionne également avec toutes les données numériques. Pour un deuxième exemple, utilisons des données de chômage publiques:

unemp_df = pd.DataFrame({
    'Year': (2018, 2019, 2020, 2021, 2022),
    'UnemploymentRate': (4.5, 3.9, 8.1, 6.2, 5.3)
})

unemp_story = (pn.Story(unemp_df, width=600)
                 .mark_bar(color="teal")
                 .encode(x='Year:O', y='UnemploymentRate:Q')
                 .add_title("State Unemployment Rate", "2018-2022",
                            title_color="#333")
                 .add_context("Sharp increase in 2020 due to the pandemic", position='top')
                 .add_annotation(2020, 8.1, "Pandemic impact", arrow_color="red", label_color="darkred")
                 .render())
unemp_story

Sortir:
Sortie: Exemple 1Sortie: Exemple 1

Dans ce cas, nous utilisons un graphique à barres pour montrer les taux de chômage au fil du temps. Le 2020 Spike est appelé directement, ce qui rend le message clairement à quelqu’un qui ne connaissait pas les données.

Enveloppement et étapes suivantes


Vous pouvez utiliser le pynarratif presque partout où vous souhaitez présenter des données et vous assurer que le public «obtient». Pendant que vous explorez, consultez le Documentation officielle de pynarrative et des exemples. Commencez par installer et importer la bibliothèque, puis chargez votre ensemble de données public préféré avec des pandas (par exemple, CSVS de Kaggle ou data.gov). Si vous êtes nouveau dans la programmation, référez-vous à Guide du débutant Python.org ou le «10 minutes aux pandas«Tutoriel. Avec un peu de pratique, vous ajouterez des récits clairs et engageants à vos données en un rien de temps.

Kanwal Mehreen Kanwal est ingénieur d’apprentissage automatique et écrivain technique avec une profonde passion pour la science des données et l’intersection de l’IA avec la médecine. Elle a co-écrit l’ebook « Maximiser la productivité avec Chatgpt ». En tant que Google Generation Scholar 2022 pour APAC, elle défend la diversité et l’excellence académique. Elle est également reconnue comme une diversité de Teradata dans Tech Scholar, le boursier de recherche Mitacs Globalink et le savant de Harvard WECODE. Kanwal est un ardent défenseur du changement, après avoir fondé des femmes pour autonomiser les femmes dans les champs STEM.



Source link

Related post