Учитывая такой набор данных:
values = ([ 'motorway' ] * 5) + ([ 'link' ] * 3) + ([ 'motorway' ] * 7)
df = pd.DataFrame.from_dict({
'timestamp': pd.date_range(start='2018-1-1', end='2018-1-2', freq='s').tolist()[:len(values)],
'road_type': values,
})
df.set_index('timestamp')
df['delta_t'] = (df['timestamp'] - df['timestamp'].shift()).fillna(0)
Я хочу, чтобы максимальные суммы delta_t
на группу последовательных типов road_type;учитывая, что delta_t
будет 1s
в этом примере, я хочу найти motorway
: 7s
и link
: 3s
.На практике будет больше road_types, и delta_t
будет различаться.
edit: предоставленное решение здесь выглядит аналогично, но не суммирует время и не выбирает наибольшую из каждой группы..