AW Dev Rethought

Truth can only be found in one place: the code - Robert C. Martin

📊 Python Data Workflows – 📈 Simple Dashboard 🐍


Description:

After cleaning and transforming data, the next step is visualisation.

Data on its own is difficult to interpret. Charts help convert numbers into patterns that are easy to understand. Even simple visualisations can reveal trends, outliers, and relationships.


Why Visualisation Matters

Without charts:

  • patterns are hidden in rows
  • trends are hard to spot
  • comparisons take time

With charts:

  • insights become immediate
  • decisions become easier

Category-Level Insights

Bar charts are one of the simplest and most effective ways to compare categories.

df.groupby("category")["sales"].sum().plot(kind="bar")

This shows which categories contribute the most to total sales.


Trend Analysis

Time-based data is best visualised using line charts.

df.groupby("order_date")["sales"].sum().plot()

This helps identify growth, drops, or seasonal patterns.


Distribution of Data

Understanding how values are spread is important.

sns.histplot(df["sales"], bins=10)

This reveals whether sales are concentrated or spread out.


Regional Insights

Grouping data by region helps identify geographic performance.

sns.barplot(data=df, x="region", y="sales", estimator=sum)

This gives a quick comparison across regions.


Key Takeaways

  • Visualisation is essential for understanding data
  • Different charts serve different purposes
  • Simple dashboards can provide powerful insights
  • Even basic plots can uncover meaningful patterns

Code Snippet:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.read_csv("sample_data.csv")

print("✅ Data Loaded")


df["order_date"] = pd.to_datetime(df["order_date"], errors="coerce")
df["sales"] = pd.to_numeric(df["sales"], errors="coerce")

df = df.dropna(subset=["order_date", "sales"])


plt.figure(figsize=(8, 5))

category_sales = df.groupby("category")["sales"].sum().sort_values()

category_sales.plot(kind="bar")

plt.title("Sales by Category")
plt.xlabel("Category")
plt.ylabel("Total Sales")

plt.tight_layout()
plt.show()


plt.figure(figsize=(8, 5))

daily_sales = df.groupby("order_date")["sales"].sum()

daily_sales.plot()

plt.title("Sales Trend Over Time")
plt.xlabel("Date")
plt.ylabel("Sales")

plt.tight_layout()
plt.show()


plt.figure(figsize=(8, 5))

sns.histplot(df["sales"], bins=10, kde=True)

plt.title("Sales Distribution")

plt.tight_layout()
plt.show()


plt.figure(figsize=(8, 5))

sns.barplot(data=df, x="region", y="sales", estimator=sum)

plt.title("Sales by Region")

plt.tight_layout()
plt.show()

Link copied!

Comments

Add Your Comment

Comment Added!