slogan3

Ontwikkel een Python Script voor Data Visualisatie en Analyse

description

Met deze prompt kan de gebruiker eenvoudig een Python script maken dat complexe data inzichtelijk maakt door middel van visualisaties en analyse. Het helpt de gebruiker om de juiste grafieken te kiezen, de analyse te begrijpen en verhoogt de datavaardigheden concreet. Dit is beter dan algemene scripts doordat het praktische inzicht en interpretatie biedt, niet alleen codegenereert.

prompt

Help me een Python script te schrijven dat data visualiseert en analyseert met behulp van <geef het type data of dataset op>. Inclusief uitleg over welke ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een stapsgewijze gids en een voorbeeld Python-script om je financiële kwartaalrapporten te visualiseren en te analyseren met omzet per regio, gebaseerd op je CSV-bestand met kolommen voor datum, product en omzet. Stap 1: Installatie van benodigde libraries Zorg dat je de volgende Python libraries hebt geïnstalleerd: - pandas - matplotlib - seaborn - numpy Je kunt ze installeren via pip: ```bash pip install pandas matplotlib seaborn numpy ``` Stap 2: Inladen en voorbereiden van data Lees je CSV bestand in en parseer de datums. Vervolgens groepeer je de data op kwartaal en regio (als regio kolom aanwezig is, anders moet je regio toevoegen of aanpassen). Stap 3: Visualisaties kiezen - **Lijn- of staafdiagrammen** voor het tonen van omzet per kwartaal per regio. - **Gestapelde staafdiagrammen** om de bijdrage van elke regio aan het totaal te laten zien. - **Boxplots** voor verdelingen van omzet per regio. Stap 4: Script voorbeeld ```python import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Laad de dataset df = pd.read_csv('jouw_gegevens.csv', parse_dates=['datum']) # Als regio niet in dataset staat, voeg regio toe of wijzig deze regel # Bijvoorbeeld: df['regio'] = ... (afhankelijk van je data) # Voeg kwartaal en jaar kolommen toe df['jaar'] = df['datum'].dt.year df['kwartaal'] = df['datum'].dt.to_period('Q') # Groepeer data op kwartaal en regio # Als je regio kolom niet hebt, moet je deze toevoegen # Bijvoorbeeld: df['regio'] = 'Regio1' of gebaseerd op andere data groepering = df.groupby(['jaar', 'kwartaal', 'regio'])['omzet'].sum().reset_index() # Maak een nieuwe kolom voor kwartaal label groepering['kwartaal_label'] = groepering['jaar'].astype(str) + ' Q' + groepering['kwartaal'].dt.quarter.astype(str) # Visualisatie 1: Omzet per kwartaal per regio (Lijnplot) plt.figure(figsize=(12, 6)) sns.lineplot(data=groepering, x='kwartaal_label', y='omzet', hue='regio', marker='o') plt.title('Omzet per kwartaal per regio') plt.xlabel('Kwartaal') plt.ylabel('Omzet') plt.xticks(rotation=45) plt.tight_layout() plt.show() # Visualisatie 2: Gestapelde staafdiagram van omzet per kwartaal per regio pivot_df = groepering.pivot(index='kwartaal_label', columns='regio', values='omzet') pivot_df.plot(kind='bar', stacked=True, figsize=(12, 6)) plt.title('Gestapelde omzet per kwartaal per regio') plt.xlabel('Kwartaal') plt.ylabel('Omzet') plt.xticks(rotation=45) plt.tight_layout() plt.show() # Visualisatie 3: Omzet verdeling per regio (boxplot) plt.figure(figsize=(8,6)) sns.boxplot(data=df, x='regio', y='omzet') plt.title('Verdeling van omzet per regio') plt.xlabel('Regio') plt.ylabel('Omzet') plt.tight_layout() plt.show() ``` **Uitleg van visualisaties en interpretatie:** - **Lijnplot**: Laat trends zien in omzet per regio over de kwartalen. Het helpt om seizoenspatronen of groei/daling te identificeren. - **Gestapelde bar chart**: Toont de bijdrage van elke regio aan het totaal per kwartaal, handig om de verhouding en veranderingen over tijd te zien. - **Boxplot**: Geeft de spreiding en mediane omzet per regio, nuttig om te ontdekken welke regio’s consistent hoge of lage omzet hebben. **Aanbevelingen voor interpretatie:** - Kijk naar stijgende of dalende trends in de lijnplot om de prestaties per regio te evalueren. - Let op regio’s die een groot of groeiend aandeel hebben in de gestapelde bar chart. - Gebruik de boxplots om te bepalen of er grote variatie in omzet per regio is en of er uitschieters zijn. Als je specifieke regio’s hebt of meer gedetailleerde analyses wilt, kun je de code aanpassen of uitbreiden.
provider: deepseek
model: deepseek-chat
Hallo! Ik help je graag een Python script te schrijven voor de visualisatie en analyse van financiële kwartaalrapporten. Hier is een complete oplossing: ## Vereiste libraries ```python import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import numpy as np from datetime import datetime ``` ## Data inladen en voorbereiden ```python # Data inladen df = pd.read_csv('financiële_data.csv') # Datum kolom omzetten naar datetime df['datum'] = pd.to_datetime(df['datum']) # Kwartaal en jaar extraheren df['kwartaal'] = df['datum'].dt.quarter df['jaar'] = df['datum'].dt.year # Controleer de data print(df.head()) print(df.info()) ``` ## Meest geschikte visualisaties: ### 1. Staafdiagram per kwartaal en regio ```python def visualiseer_kwartaal_omzet(df): # Groepeer data per kwartaal en regio kwartaal_data = df.groupby(['jaar', 'kwartaal', 'regio'])['omzet'].sum().reset_index() # Maak een combinatie van jaar-kwartaal kwartaal_data['periode'] = kwartaal_data['jaar'].astype(str) + ' Q' + kwartaal_data['kwartaal'].astype(str) plt.figure(figsize=(12, 8)) sns.barplot(data=kwartaal_data, x='periode', y='omzet', hue='regio') plt.title('Omzet per kwartaal per regio') plt.xlabel('Kwartaal') plt.ylabel('Omzet (€)') plt.xticks(rotation=45) plt.legend(title='Regio') plt.tight_layout() plt.show() ``` ### 2. Gestapeld staafdiagram ```python def visualiseer_gestapelde_omzet(df): pivot_data = df.pivot_table(values='omzet', index=['jaar', 'kwartaal'], columns='regio', aggfunc='sum').fillna(0) pivot_data.plot(kind='bar', stacked=True, figsize=(12, 8)) plt.title('Gestapelde omzet per kwartaal per regio') plt.xlabel('Kwartaal (Jaar-Q)') plt.ylabel('Omzet (€)') plt.legend(title='Regio') plt.tight_layout() plt.show() ``` ### 3. Lijndiagram voor trendanalyse ```python def visualiseer_trends(df): plt.figure(figsize=(12, 8)) for regio in df['regio'].unique(): regio_data = df[df['regio'] == regio] trend_data = regio_data.groupby(['jaar', 'kwartaal'])['omzet'].sum() trend_data.plot(label=regio, marker='o') plt.title('Omzet trends per regio over tijd') plt.xlabel('Tijd (per kwartaal)') plt.ylabel('Omzet (€)') plt.legend() plt.grid(True) plt.tight_layout() plt.show() ``` ### 4. Heatmap voor seizoenspatronen ```python def visualiseer_seizoenspatronen(df): # Maak een pivot table voor de heatmap heatmap_data = df.pivot_table(values='omzet', index='regio', columns='kwartaal', aggfunc='sum') plt.figure(figsize=(10, 6)) sns.heatmap(heatmap_data, annot=True, fmt='.0f', cmap='YlOrRd') plt.title('Omzet per regio per kwartaal (Heatmap)') plt.xlabel('Kwartaal') plt.ylabel('Regio') plt.tight_layout() plt.show() ``` ## Data analyse functies ```python def analyseer_groei(df): # Bereken kwartaal-op-kwartaal groei per regio resultaten = [] for regio in df['regio'].unique(): regio_data = df[df['regio'] == regio] regio_data = regio_data.groupby(['jaar', 'kwartaal'])['omzet'].sum().reset_index() regio_data['qoq_groei'] = regio_data['omzet'].pct_change() * 100 laatste_groei = regio_data['qoq_groei'].iloc[-1] if len(regio_data) > 1 else 0 gem_groei = regio_data['qoq_groei'].mean() resultaten.append({ 'regio': regio, 'laatste_qoq_groei': round(laatste_groei, 2), 'gemiddelde_groei': round(gem_groei, 2), 'totale_omzet': regio_data['omzet'].sum() }) return pd.DataFrame(resultaten) def bereken_marktaandeel(df): totale_omzet = df['omzet'].sum() marktaandeel = df.groupby('regio')['omzet'].sum() / totale_omzet * 100 return marktaandeel.round(2) ``` ## Hoofdscript ```python if __name__ == "__main__": # Laad en prepareer data df = pd.read_csv('financiële_data.csv') df['datum'] = pd.to_datetime(df['datum']) df['kwartaal'] = df['datum'].dt.quarter df['jaar'] = df['datum'].dt.year # Voer visualisaties uit visualiseer_kwartaal_omzet(df) visualiseer_gestapelde_omzet(df) visualiseer_trends(df) visualiseer_seizoenspatronen(df) # Voer analyses uit groei_analyse = analyseer_groei(df) marktaandeel = bereken_marktaandeel(df) print("Groei analyse:") print(groei_analyse) print("\nMarktaandeel per regio:") print(marktaandeel) ``` ## Interpretatie van resultaten: ### 📊 **Staafdiagram interpretatie:** - Vergelijk omzet tussen regio's per kwartaal - Identificeer seizoenspatronen - Spot outliers of ongebruikelijke trends ### 📈 **Trendlijn interpretatie:** - Opwaartse trend = groeiende markt - Neerwaartse trend = krimpende markt - Cyclische patronen = seizoensinvloeden ### 🔥 **Heatmap interpretatie:** - Donkerder kleuren = hogere omzet - Identificeer sterke/zwakke kwartalen per regio - Vergelijk prestaties tussen regio's ### 📋 **Groei analyse:** - Positieve QoQ groei = gezond bedrijf - Negatieve groei = waarschuwingsteken - Vergelijk groeicijfers tussen regio's ### 💡 **Aanbevelingen:** 1. Investeer in regio's met hoge groei 2. Analyseer oorzaken van tegenvallende prestaties 3. Pas strategie aan op basis van seizoenspatronen 4. Benchmark prestaties tegen industriegemiddelden Dit script geeft je een complete analyse van je financiële kwartaalgegevens met duidelijke visualisaties en actiegerichte inzichten!