grouped_a = a.groupby('id').agg(['nunique']).reset_index()
grouped_a.columns = ['id', 'num_unique_num', 'num_unique_my_date']
print(grouped_a)
Панды: подсчет уникальных значений даты и времени в группе дает странные значения