Попробуйте groupby().agg()
:
new_df.groupby('timestamp').vehicle_id.agg({'min','max','mean'})
Примечание : поскольку вам важен только один столбец в исходных данных, вы можете просто пропустить серию в первой группе вместофрейм данных, т. е.
# note the number of [] around 'vehicle_id'
new_df = (df.groupby(['provider',
df['timestamp'].dt.strftime('%Y-%m-%d')])
['vehicle_id'].nunique()
)
Тогда new_df
- это серия с именем vehicle_id
, а следующая команда просто
# note the difference before .agg
new_df.groupby('timestamp').agg({'min', 'max', 'mean'})