Why Did Pharma Sales Drop in March? Python Project Tutorial
ā Runtime tested ā the solution passes every example case. š Full written solution: https://interview-kit-fe.vercel.app/project-build-a-analysing-pharma-sales-data-beginner-data- š» Code on GitHub: https://github.com/timepasshub2539-hue/leetcode-python/tree/main/project-build-a-analysing-pharma-sales-data-beginner-data- Chapters: 0:00 The March Mystery 0:11 Raw Pharma Sales Data 0:24 Loading Data With Pandas 0:40 Cleaning Sales Data 1:01 Slicing By Month And Product 1:20 Confirming The Sales Dip 1:30 Checking Sales Across Regions 1:38 Cross-Referencing Real-World Events 1:49 Building An Actionable Chart 2:02 Root Cause Revealed 2:19 Recap: Reusable Data Analysis Pattern 2:30 Final Takeaway Follow the full investigation from a mysterious March sales dip to a chart-backed answer, using pandas from raw data to cleaned, sliced, and cross-referenced results. Learn to load messy sales data, clean it before trusting it, slice by month and product, and confirm a real pattern instead of a fluke. By the end you'll widen the lens, cross-reference real-world context, and turn findings into a chart someone can act on ā a reusable pattern for any dataset. #Python #DataAnalysis #Pandas #BeginnerProject #DataScience Watch next: - SQL Lesson 20: CREATE TABLE & Data Types #shorts: https://youtu.be/y_HL9vMKVBU - Lesson 18: Stop Grouping! See Previous Rows Without Collapsing Data: https://youtu.be/jH5XvUvhoLw - Type 100, Get 160.9 ā Build a Unit Converter (Beginner, Web App) in Python Tutorial: https://youtu.be/m_W7j5P1l1U
The solution
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("data/salesdaily.csv")
df = df.drop_duplicates().dropna(subset=["datum"])
df["datum"] = pd.to_datetime(df["datum"])
df["drug"] = df["drug"].replace({"Amox": "Amoxicillin"})
amox = df[df["drug"] == "Amoxicillin"].copy()
amox["month"] = amox["datum"].dt.to_period("M")
monthly = amox.groupby("month")["units"].sum()
by_store = amox.pivot_table(index="month", columns="store",
values="units", aggfunc="sum")
supplier = pd.read_csv("data/supplier_log.csv")
merged = amox.merge(supplier, on=["store", "datum"], how="left")
monthly.plot(kind="line", marker="o")
plt.axvline("2015-03", color="red", linestyle="--")
plt.title("Amoxicillin sales by month")
plt.savefig("march_dip.png")Ready to try it yourself? Solve General problems with instant feedback in the practice sandbox.
Practice now ā


