slogan3

Ontwerp een geautomatiseerd Seaborn-rapport met samenvattende statistieken en visualisaties

description

Met deze prompt kan de gebruiker snel een compleet rapport opzetten dat zowel statistische inzichten als visuele representaties bevat, waardoor handmatige analyse en rapportage worden vereenvoudigd. Het bespaart tijd, verhoogt de consistentie en helpt bij het beter communiceren van data-inzichten.

prompt

Help me bij het ontwerpen van een geautomatiseerd rapport met Seaborn dat samenvattende statistieken en relevante visualisaties bevat voor mijn dataset. Beschrijving van mijn dataset: <geef een gedetailleerde beschrijving van je dataset>. Welke statistieken wil ik analyseren: <bijv. gemidd ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een stapsgewijze gids en voorbeeldcode om een geautomatiseerd rapport te maken met Seaborn en Pandas, inclusief samenvattende statistieken en relevante visualisaties in een minimalistische stijl met blauwe accenten. Stap 1: Importeer de benodigde libraries ```python import pandas as pd import seaborn as sns import matplotlib.pyplot as plt ``` Stap 2: Laad je dataset ```python # Vervang 'jouw_dataset.csv' door de juiste bestandsnaam of pad df = pd.read_csv('jouw_dataset.csv', parse_dates=['datum']) ``` Stap 3: Bereken samenvattende statistieken ```python # Groepeer op bijvoorbeeld categorie en/of datum # Voor overzicht, bijvoorbeeld per categorie stats = df.groupby('categorie')['verkochte_eenheden', 'omzet'].agg(['mean', 'median', 'std']) print(stats) ``` Stap 4: Maak visualisaties ```python # Stel een minimalistische stijl in sns.set_theme(style='whitegrid', palette='Blues') # Boxplot voor omzet per categorie plt.figure(figsize=(8,6)) sns.boxplot(x='categorie', y='omzet', data=df) plt.title('Boxplot van omzet per categorie') plt.tight_layout() plt.savefig('boxplot_omzet_per_categorie.png') # Histogram van verkochte eenheden plt.figure(figsize=(8,6)) sns.histplot(df['verkochte_eenheden'], bins=20) plt.title('Histogram van verkochte eenheden') plt.xlabel('Verkochte eenheden') plt.ylabel('Frequentie') plt.tight_layout() plt.savefig('histogram_verkochte_eenheden.png') ``` Stap 5: Automatisering en export Je kunt alles samen in een script zetten dat automatisch de statistieken print en de visualisaties opslaat in een map. Bijvoorbeeld: ```python def genereer_rapport(data): # Samenvattende statistieken stats = data.groupby('categorie')[['verkochte_eenheden', 'omzet']].agg(['mean', 'median', 'std']) print(stats) # Visualisaties sns.set_theme(style='whitegrid', palette='Blues') # Boxplot omzet per categorie plt.figure(figsize=(8,6)) sns.boxplot(x='categorie', y='omzet', data=data) plt.title('Boxplot van omzet per categorie') plt.tight_layout() plt.savefig('boxplot_omzet_per_categorie.png') plt.close() # Histogram verkochte eenheden plt.figure(figsize=(8,6)) sns.histplot(data['verkochte_eenheden'], bins=20) plt.title('Histogram van verkochte eenheden') plt.xlabel('Verkochte eenheden') plt.ylabel('Frequentie') plt.tight_layout() plt.savefig('histogram_verkochte_eenheden.png') plt.close() # Aanroepen van de functie genereer_rapport(df) ``` Eventueel kun je deze rapportage verder automatiseren met een PDF-generator of Jupyter Notebook exporteren, afhankelijk van je wensen. Wil je dat ik een voorbeeld maak dat alles automatisch combineert in een rapport in bijvoorbeeld een PDF?
provider: deepseek
model: deepseek-chat
Absoluut! Hier is een gestructureerd plan voor het ontwerpen van uw geautomatiseerd rapport in Seaborn, volledig in het Nederlands. ### Stap 1: Importeer de Benodigde Bibliotheken ```python import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from datetime import datetime # Stel de minimalistische stijl met blauwe accenten in sns.set_theme(style="whitegrid") # Schone, minimalistische basis sns.set_palette("Blues") # Blauwe kleurenpalet voor alle grafieken ``` ### Stap 2: Laad en Bereid de Data Voor ```python # VERVANG 'pad/naar/jouw/bestand.csv' MET HET WERKELIJKE PAD df = pd.read_csv('pad/naar/jouw/bestand.csv') # Zorg dat de datumkolom het juiste type heeft voor tijdreeksanalyse df['datum'] = pd.to_datetime(df['datum']) ``` ### Stap 3: Bereken de Gevraagde Samenvattende Statistieken U wilt de **gemiddelde, mediaan en standaarddeviatie** analyseren. Dit zijn meestal het meest relevant voor numerieke kolommen. We richten ons op `verkochte eenheden` en `omzet`. ```python # Algemene beschrijvende statistieken voor de numerieke kolommen algemene_statistieken = df[['verkochte eenheden', 'omzet']].describe() # Bereken specifiek de gewenste metrics per categorie (bijv. per productcategorie) stats_per_categorie = df.groupby('categorie')[['verkochte eenheden', 'omzet']].agg(['mean', 'median', 'std']) stats_per_categorie.columns = ['_'.join(col).strip() for col in stats_per_categorie.columns.values] # Hernoem voor duidelijkheid (optioneel) stats_per_categorie = stats_per_categorie.rename(columns={ 'verkochte eenheden_mean': 'Gem_eenheden', 'verkochte eenheden_median': 'Med_eenheden', 'verkochte eenheden_std': 'Std_eenheden', 'omzet_mean': 'Gem_omzet', 'omzet_median': 'Med_omzet', 'omzet_std': 'Std_omzet' }) # Toon de samenvattende statistieken in de console print("Algemene Beschrijvende Statistieken:") print(algemene_statistieken) print("\n\nStatistieken per Categorie:") print(stats_per_categorie) ``` ### Stap 4: Maak de Gevraagde Visualisaties U wilt **boxplots** en **histogrammen**. ```python # Maak een figuur met meerdere subplots voor een rapportlayout fig, axes = plt.subplots(2, 2, figsize=(15, 12)) # 2 rijen, 2 kolommen fig.suptitle('Samenvattingsrapport Verkoopdata', fontsize=16, fontweight='bold') # 1. Boxplot voor verkochte eenheden per categorie sns.boxplot(ax=axes[0, 0], data=df, x='categorie', y='verkochte eenheden') axes[0, 0].set_title('Boxplot: Verkochte Eenheden per Categorie') axes[0, 0].tick_params(axis='x', rotation=45) # Kantel labels voor leesbaarheid # 2. Boxplot voor omzet per categorie sns.boxplot(ax=axes[0, 1], data=df, x='categorie', y='omzet') axes[0, 1].set_title('Boxplot: Omzet per Categorie') axes[0, 1].tick_params(axis='x', rotation=45) # 3. Histogram voor verdeling van verkochte eenheden sns.histplot(ax=axes[1, 0], data=df, x='verkochte eenheden', kde=True) # kde voegt een lijn toe axes[1, 0].set_title('Histogram: Verdeling van Verkochte Eenheden') axes[1, 0].axvline(df['verkochte eenheden'].mean(), color='darkblue', linestyle='--', label=f"Gem: {df['verkochte eenheden'].mean():.2f}") axes[1, 0].axvline(df['verkochte eenheden'].median(), color='red', linestyle='--', label=f"Med: {df['verkochte eenheden'].median():.2f}") axes[1, 0].legend() # 4. Histogram voor verdeling van omzet sns.histplot(ax=axes[1, 1], data=df, x='omzet', kde=True) axes[1, 1].set_title('Histogram: Verdeling van Omzet') axes[1, 1].axvline(df['omzet'].mean(), color='darkblue', linestyle='--', label=f"Gem: {df['omzet'].mean():.2f}") axes[1, 1].axvline(df['omzet'].median(), color='red', linestyle='--', label=f"Med: {df['omzet'].median():.2f}") axes[1, 1].legend() # Pas de layout aan zodat alles netjes past plt.tight_layout() # Toon de grafieken plt.show() ``` ### Stap 5: Exporteer het Rapport U heeft niet expliciet een exportformaat gevraagd. De volgende opties zijn het gebruikelijkst: **Optie A: Exporteer de Grafiek als Afbeelding (bijv. PNG)** ```python # Sla de volledige figuur op als een PNG-bestand van hoge kwaliteit fig.savefig('mijn_verkooprapport.png', dpi=300, bbox_inches='tight') print("Rapport opgeslagen als 'mijn_verkooprapport.png'") ``` **Optie B: Exporteer de Statistieken naar Excel** ```python # Maak een Pandas Excel writer en exporteer de twee statistiektabellen naar aparte sheets with pd.ExcelWriter('samenvattende_statistieken.xlsx') as writer: algemene_statistieken.to_excel(writer, sheet_name='Algemene Statistieken') stats_per_categorie.to_excel(writer, sheet_name='Statistieken per Categorie') print("Statistieken opgeslagen in 'samenvattende_statistieken.xlsx'") ``` ### Samenvatting van uw Rapport: 1. **Statistieken:** Het script berekent en toont zowel algemene beschrijvende statistieken (inclusief mean, median, std) als dezezelfde metrics gegroepeerd per productcategorie. 2. **Visualisaties:** Het genereert een dashboard met vier grafieken: * Twee **boxplots** om de distributie en outliers van `verkochte eenheden` en `omzet` per `categorie` te vergelijken. * Twee **histogrammen** om de verdeling van `verkochte eenheden` en `omzet` over de hele dataset te tonen, **met verticale stippellijnen voor het gemiddelde (blauw) en de mediaan (rood)**. 3. **Stijl:** Het gebruikt een `whitegrid`-stijl met een `Blues` kleurenpalet voor een minimalistische look met blauwe accenten. **Volgende Stappen:** Voer dit script uit in uw Jupyter Notebook of Python-omgeving. Zorg ervoor dat u het pad naar uw CSV-bestand correct invult (`'pad/naar/jouw/bestand.csv'`).