new_df = pd.DataFrame({'times': df['start'].append(df['end']), 'events': df
    ['events'].append(df['events'])})
new_df = new_df.groupby(['times', 'events']).agg(len)
new_df = new_df.reset_index().pivot('times', 'events').fillna(0)
Создайте новый кадр данных временной серии pandas из другого кадра данных