Données sur la narration avec Altair et Pynarrative: transformer les données en perspicacité

 Données sur la narration avec Altair et Pynarrative: transformer les données en perspicacité

Auteur (s): S Aishwarya

Publié à l’origine sur Vers l’IA.

Une narration de données forte va au-delà de la simple visualisation des nombres qu’il découvre le signification Derrière les modèles, apporter la clarté de ce qui serait autrement une feuille de calcul de valeurs.

Photo de Carlos Muza sur Désactiver

Alors que les bibliothèques de visualisation comme Matplotlib, Plotly et SeaBorn peuvent produire de beaux graphiques, ils manquent souvent d’une caractéristique cruciale: narratif. Ils laissent le spectateur pour interpréter l’histoire derrière les lignes et les barreaux.

C’est là qu’Altair et la bibliothèque pynarrative brillent. Ensemble, ils nous aident non seulement à visualiser les données – mais en fait expliquer il.

🔍 Qu’est-ce que Altair?

Altair est une bibliothèque Python pour la visualisation des données déclaratives qui permet aux utilisateurs de créer des graphiques propres, concis et interactifs basés sur la grammaire Vega-Lite de graphiques.

Vous n’avez qu’à fournir:

  • Vos données (généralement un pandas dataframe ou Vega ensembles de données)
  • Type de graphique (par exemple, bar, ligne, dispersion)
  • Encodage (axes x / y, couleur, taille, etc.)
  • Interactivité, filtrage et infractions facultatives

Altair rend ensuite la visualisation à l’aide d’une spécification JSON – prêt à utiliser dans les tableaux de bord, les ordinateurs portables, les applications Web ou les rapports.

La bibliothèque Altair s’intègre directement aux pandas (pour la gestion des données) et à Vega-Lite (pour le rendu et l’interactivité), ce qui permet aux utilisateurs de Python de créer des histoires de données puissantes sans écrire de code de traçage complexe.

🔍 Qu’est-ce que le pynarratif?

pynarratif est une bibliothèque Python conçue pour élaborer automatiquement des résumés narratifs clairs et perspicaces de Pandas Dataframe et les graphiques Altair.

Avec seulement quelques entrées:

  • Un ensemble de données (souvent une série chronologique ou des données structurées dans un dataframe)
  • Une visualisation (créée à l’aide d’Altair)
  • Étiquettes d’axe, contexte facultatif et votre message prévu

Le pynarratif génère une explication textuelle bien structurée – idéal pour l’incorporation dans des tableaux de bord, des rapports, des présentations ou des histoires de données interactives.

Construit pour travailler de manière transparente avec les pandas (pour la manipulation des données) et Altair (pour le rendu visuel), le pynarratif aide à combler l’écart entre les données brutes et les idées lisibles par l’homme – transformant les visualisations en récits convaincants avec un minimum d’effort.

Description des données:

Nous utilisons l’ensemble de données CARS, qui contient des informations sur différents modèles de voitures. Les principales fonctionnalités sur lesquelles nous nous concentrerons sont:

  • Horaire: La puissance du moteur de la voiture.
  • Miles_per_gallon (mpg): À quel point la voiture est économe en carburant.
  • Origine: Où la voiture a été fabriquée (États-Unis, Europe ou Japon).
  • Nom: Le nom du modèle de la voiture.

Ces fonctionnalités nous aident à explorer la relation entre la puissance d’une voiture et l’efficacité énergétique, et comment cela varie selon l’origine.

Nettoyage et préparation des données

Nous commencerons par Chargement automatiquement de l’ensemble de données en utilisant SeaBorn, puis nettoyez-le pour nos visualisations.

import pandas as pd
import seaborn as sns
import altair as alt
import pynarrative as pn

df = sns.load_dataset('mpg')

print(df(('name', 'mpg', 'horsepower', 'origin')).head())

Sortir:

Image par auteur

Étapes de nettoyage:

  1. Convertissez la puissance en numérique pour gérer tous les problèmes potentiels.
  2. Déposez les lignes avec valeurs manquantes dans les champs critiques.
df('horsepower') = pd.to_numeric(df('horsepower'), errors='coerce')

df_clean = df.dropna(subset=('horsepower', 'mpg', 'origin'))

print(df_clean(('name', 'mpg', 'horsepower', 'origin')).head())

Sortir:

Image par auteur

Histoire 1: Power vs efficacité énergétique

Explorons la relation entre la puissance du moteur d’une voiture (puissance) et son efficacité énergétique (miles par gallon).

En codant les couleurs des points de données en fonction de la région d’origine de la voiture, nous avons un aperçu de la façon dont différents pays abordent la conception automobile.

chart = pn.Story(df_clean).mark_circle(size=60).encode(
x='horsepower:Q',
y='mpg:Q',
color='origin:N',
tooltip=('name', 'horsepower', 'mpg', 'origin')
).add_title(
"Horsepower vs MPG by Origin",
"Higher horsepower often leads to lower fuel efficiency",
title_color="#1a1a1a",
subtitle_color="#4a4a4a"
).add_context(
text=(
"Cars with more horsepower generally consume more fuel.",
"Japanese and European models show a clear emphasis on fuel efficiency.",
"This trend reveals differing consumer needs and manufacturer strategies."
),
position="bottom",
dx=0,
color="black"
).render()

chart

Sortir:

Image par auteur

Cette visualisation révèle que Voitures américaines ont tendance à avoir une puissance plus élevée mais une économie de carburant plus faible, alors que Voitures japonaises et européennes montrer plus d’équilibre.

Histoire 2: Tendances d’efficacité régionale au fil du temps

Observons comment efficacité énergétique (MPG) a changé au fil du temps dans différentes régions.

# Estimate year from model_year column
df_clean('year') = df_clean('model_year') + 1900
# Compute average MPG by region and year
regional_avg = df_clean.groupby(('year', 'origin'))('mpg').mean().reset_index()
chart = pn.Story(regional_avg).mark_line(point=True).encode(
x=alt.X('year:O', axis=alt.Axis(title='Year')),
y=alt.Y('mpg:Q', title='Average MPG'),
color='origin:N'
).add_title(
"Average Fuel Efficiency by Region Over Time",
"Trends in MPG from 1970s to 1980s",
title_color="#1a1a1a",
subtitle_color="#4a4a4a"
).add_context(
text=(
"Japanese cars consistently lead in fuel efficiency.",
"U.S. manufacturers ramped up efficiency post-1975.",
"European models maintain a steady middle ground."
),
position="bottom",
dx=0,
color="black"
).render()
chart

Sortir:

Image par auteur

Nous voyons comment changements réglementaires et crises en carburant influencé l’efficacité énergétique, en particulier aux États-Unis

Histoire 3: Impact de la crise pétrolière de 1973

Annochons notre graphique avec le 1973 Crise pétrolièreun moment charnière pour la conception de la voiture.

chart = pn.Story(regional_avg).mark_line().encode(
x='year:O',
y='mpg:Q',
color='origin:N'
).add_title(
"Impact of the 1973 Oil Crisis on MPG",
"Shift in design philosophy after fuel shortages",
title_color="#1a1a1a",
subtitle_color="#4a4a4a"
).add_context(
text=(
"The 1973 Oil Crisis increased focus on fuel efficiency worldwide.",
"U.S. automakers shifted designs to improve MPG post-crisis.",
"Japanese models were already MPG leaders at the time."
),
position="bottom",
dx=0,
color="black"
).add_annotation(
1973, 15.5, "1973 Oil Crisis",
arrow_direction='up',
arrow_dx=0,
arrow_dy=-1,
arrow_color='red',
arrow_size=50,
label_color='black',
label_size=14,
show_point=True
).render()

chart

Sortir:

Image par auteur

Cette visualisation annotée ajoute contexte historiquemontrant comment Les événements mondiaux façonnent les tendances de l’industrie.

En résumé…

En utilisant Pynarrative et Altair, nous avons transformé de manière transparente les données de performance de la voiture en histoires visuelles engageantes par:

  • Mettre en évidence la relation inverse entre la puissance et l’efficacité énergétique
  • Explorer comment les philosophies de conception régionales façonnent l’économie de carburant au fil du temps
  • Annoter les principaux événements historiques comme la crise pétrolière de 1973 pour montrer leur impact sur l’industrie

Tout cela a été fait en utilisant une seule interface intuitive combinant des pandas, Altair et Pynarrative. Une fois ce pipeline de narration en place, il peut être adapté à tout ensemble de données rendu via Altair de l’automobile aux soins de santé et au-delà.

Cette approche est plus rapide, plus évolutive et plus intuitive que les méthodes de cartographie manuelle conventionnelles. Que vous construisiez des rapports techniques, des tableaux de bord dynamiques ou des récits axés sur les informations, cela sert de base fiable pour une narration de données efficace.

J’aimerais lire vos commentaires!

Publié via Vers l’IA



Source link

Related post