У меня есть большой файл csv с данными временной метки в формате iso 2015-04-01 10:26:41
. Данные охватывают несколько месяцев с записями от 30 секунд до нескольких часов. Это столбцы id, время, скорость.группа pandas временные ряды данных с использованием определенных временных интервалов
В конечном счете, я хочу сгруппировать данные с интервалом в 15 минут, а затем вычислить среднюю скорость, поскольку любое количество записей находится в 15-минутном временном интервале.
Я пытаюсь использовать Pandas, потому что кажется, что у него твердые инструменты серии времени, и это может быть легко сделать, но я падаю на первое препятствие.
До сих пор я импортировал CSV в качестве кадра данных, и все столбцы имеют dtype object
. Я отсортировал данные по дате, и теперь я пытаюсь сгруппировать записи по временному интервалу, в котором я боюсь. Основанный на поиске google, я попытался использовать resample
данные с помощью этого кода df.resample('5min', how=sum)
Здесь я получаю ошибку TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex
. Я думал о том, чтобы попробовать метод groupby
, возможно, используя lambda
, как в df.groupby(lambda x:x.minutes + 5)
, который вызывает ошибку AttributeError: 'str' object has no attribute 'minutes'
.
В основном я немного запутался, а) имеет ли панды данные временных рядов в формате он признающего, как это dtype
является object
, и б) если оно может распознать его, я не могу показаться, чтобы получить временные интервалы.
Стремитесь узнать, может ли кто-нибудь указать мне в правильном направлении.
DF выглядит следующим образом
0 1 2 3
0 id boat_id time speed
1 386226 32 2015-01-15 05:14:32 4.2343243
2 386285 32 2015-01-15 05:44:57 3.45234