analysis.py
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('sales.csv',
parse_dates=['date'])
df.dropna(subset=['revenue'],
inplace=True)
monthly = (
df.groupby([
pd.Grouper(key='date',
freq='ME'),
'segment'
])['revenue']
.sum()
.unstack(fill_value=0)
)
fig, ax = plt.subplots()
for seg in monthly.columns:
ax.plot(
monthly.index,
monthly[seg],
label=seg,
linewidth=2
)
ax.set_title('Revenue by Segment')
ax.legend()
ax.grid(alpha=0.3)
plt.tight_layout()
plt.savefig('output.png')