У меня есть базовый кадр данных pandas в python, который принимает данные и строит линейный график. Каждая точка данных включает время. Если с файлом данных все работает хорошо, в идеале каждая временная метка отличается друг от друга примерно на 30 минут. В некоторых случаях данные не приходят более часа. В это время я хочу пометить этот период как «отсутствующий» и построить прерывистый линейный график, явно показывающий, где пропали данные.
Мне трудно понять, как это сделать, и даже искать решение, поскольку проблема довольно специфична. Данные «живые», они постоянно обновляются, поэтому я не могу просто указать определенную область и отредактировать ее в качестве обходного пути.
Что-то похожее на это:
Код, используемый для создания столбца даты и времени:
#convert first time columns into one datetime column
df['datetime'] = pd.to_datetime(df[['year', 'month', 'day', 'hour', 'minute', 'second']])
Я понял, как рассчитать разницу во времени, что потребовало создания нового столбца. Вот этот код на всякий случай:
df['timediff'] = (df['datetime']-df['datetime'].shift().fillna(pd.to_datetime("00:00:00", format="%H:%M:%S")))
Основной взгляд на фрейм данных:
datetime l1 l2 l3
2019-02-03 01:52:16 0.1 0.2 0.4
2019-02-03 02:29:26 0.1 0.3 0.6
2019-02-03 02:48:03 0.1 0.3 0.6
2019-02-03 04:48:52 0.3 0.8 1.4
2019-02-03 05:25:59 0.4 1.1 1.7
2019-02-03 05:44:34 0.4 1.3 2.2
Я просто не уверен, как создать прерывистый «живой» сюжет с разницей во времени.
Заранее спасибо.