Извините за смутное название.Эту проблему легче показать.
У меня есть кадр данных, упорядоченный по времени.Я хочу преобразовать это в общее количество секунд.Проблема в том, что время идет с 08:00:00 до 03:00:00.Таким образом, общее количество секунд в порядке, пока время не перейдет с 23:59:59 до 00:00:00.
Пример некоторых временных меток:
['23:45:00'
'23:45:00'
'23:47:00'
'23:49:00'
'23:55:00'
'00:10:00'
'00:10:00'
'00:10:00'
'01:05:00'
'01:08:00'
'01:10:00'
'01:15:00'
'02:05:00'
'02:07:00'
'03:05:00'
'03:10:00'
'03:15:00'
'03:25:00']
Таким образом, общее количество секунд в порядке до полуночи.Тогда это начинается снова.На данный момент я исправляю это, добавляя 24 часа час после полуночи.
df['Time'] = pd.DatetimeIndex(df['Time']) + timedelta(hours=24)
Все это не очень эффективно, если вам нужно проиндексировать соответствующие строки, а затем добавить n часов.
Я не уверен, полезно ли это, но яНиже приведен код, который выдает случайные временные метки:
import pandas as pd
import random
from datetime import timedelta
def randomTime():
rtime = int(random.random()*86400)
hours = int(rtime/3600)
minutes = int((rtime - hours*3600)/60)
seconds = rtime - hours*3600 - minutes*60
time_string = '%02d:%02d:%02d' % (hours, minutes, seconds)
return time_string
time = [randomTime() for _ in range(8)]
k = 5
N = 8
d = ({'Time' : (time)})
df = pd.DataFrame(data=d)