DataFrame, GroupBy, wybierz jeden

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