DataFrame, Groupby, selecione um

df.sort_values('date').groupby(['id', 'period', 'type']).first()
Fantastic Fish