-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
63 lines (49 loc) · 1.5 KB
/
main.py
File metadata and controls
63 lines (49 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import pandas as pd
import matplotlib.pyplot as plt
# Load dataset
df = pd.read_csv("data/sales_data.csv")
# Convert Date column to datetime
df['Date'] = pd.to_datetime(df['Date'])
# Check missing values
df.dropna(inplace=True)
# Validation
if df.empty:
raise ValueError("Dataset is empty after cleaning")
print("Dataset Loaded Successfully")
print(df.head())
# ------------------ ANALYSIS ------------------
# 1. Total sales by product
product_sales = df.groupby('Product')['Total_Sales'].sum()
# 2. Sales by region
region_sales = df.groupby('Region')['Total_Sales'].sum()
# 3. Monthly sales trend
df['Month'] = df['Date'].dt.month
monthly_sales = df.groupby('Month')['Total_Sales'].sum()
# ------------------ VISUALIZATION ------------------
# Bar Chart – Product Sales
plt.figure()
product_sales.plot(kind='bar')
plt.title("Total Sales by Product")
plt.xlabel("Product")
plt.ylabel("Total Sales")
plt.tight_layout()
plt.savefig("visualizations/product_sales.png")
plt.close()
# Line Chart – Monthly Sales Trend
plt.figure()
monthly_sales.plot(kind='line', marker='o')
plt.title("Monthly Sales Trend")
plt.xlabel("Month")
plt.ylabel("Total Sales")
plt.tight_layout()
plt.savefig("visualizations/monthly_sales.png")
plt.close()
# Pie Chart – Region-wise Sales
plt.figure()
region_sales.plot(kind='pie', autopct='%1.1f%%')
plt.title("Sales Distribution by Region")
plt.ylabel("")
plt.tight_layout()
plt.savefig("visualizations/region_sales.png")
plt.close()
print("Analysis & Visualizations Completed Successfully")