grouped = df.groupby('col1').apply(lambda g: g.set_index('date')[['amount']
    ].resample('W', how='sum')).unstack(level=0).fillna(0)
grouped.columns = grouped.columns.droplevel()
Pandas: сгруппируйте по календарной неделе, затем постройте сгруппированные гистограммы для реального времени и даты.