Data Science · मराठी आवृत्ती
16.4 EDA आणि दोन charts
आधी city counts आणि daily counts पाहू. मग daily order lines आणि Delivered GMV चे charts save करू:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme(style="whitegrid")
print(df["city"].value_counts())
print(df.groupby(df["order_date"].dt.day)["order_id"].count().head())
daily = df.groupby("order_date", as_index=False)["order_id"].count()
fig, ax = plt.subplots(figsize=(8, 4))
ax.plot(daily["order_date"], daily["order_id"], marker="o")
ax.set_title("Daily order lines — fictional Blinkit Maharashtra Oct 2026")
ax.set_ylabel("Order lines")
fig.autofmt_xdate()
fig.tight_layout()
fig.savefig("figures/daily_orders.png", dpi=120)
city_gmv = df[df["status"] == "Delivered"].groupby("city")["amount"].sum().sort_values()
fig, ax = plt.subplots(figsize=(8, 4))
city_gmv.plot(kind="barh", ax=ax)
ax.set_title("Delivered GMV by city (fictional)")
ax.set_xlabel("GMV (₹)")
fig.tight_layout()
fig.savefig("figures/city_gmv.png", dpi=120)
प्रत्यक्ष अपेक्षित output: या generator मध्ये प्रत्येक दिवसाला चार rows आहेत, त्यामुळे daily count chart सपाट दिसेल. मूळ lesson मधला “mid-October count lift” हा दावा generator शी जुळत नाही. Days 15–22 मधला बदल amount च्या base मध्ये आहे.
Pune चा Delivered GMV वरच्या बाजूला दिसू शकतो; अचूक rank output वरून लिहा. Status आणि city generator मध्ये जोडलेले असल्याने या ranking वरून खऱ्या business बद्दल निष्कर्ष काढू नका.
figures/daily_orders.png आणि figures/city_gmv.png या दोन्ही files तयार झाल्या का तपासा.