Сначала преобразуйте столбцы в дату-время, если необходимо:
df[['Start','End']] = df[['Start','End']].apply(pd.to_datetime)
А затем агрегируйте first
или last
или min
и max
по группам:
df1 = df.groupby('Activity', as_index=False).agg({'Start':'first', 'End':'last'})
df1 = df.groupby('Activity', as_index=False).agg({'Start':'min', 'End':'max'})