Как go перейти к следующей дате во временном ряду без использования timedelta - PullRequest
0 голосов
/ 11 июля 2020

У меня очень базовый c вопрос, буду признателен за руководство.

Если у меня длинный временной ряд, начинающийся, как показано ниже, который пропускает определенные даты (например, праздники и c). Я хочу читать значения для каждой даты и выполнять дальнейшие вычисления с их помощью. Столбец индекса находится в формате datetime, но если я использую timedelta (1) до go до следующей даты, код запутается, когда я достигну отсутствующей даты (например, 2017-12-18):

2017-12-15   -1.354562
2017-12-16   -0.911684
2017-12-17   -0.635944
2017-12-20   -0.250884
2017-12-21    0.108373
2017-12-22    0.293125
2017-12-26    0.396881
2017-12-27    0.683924
2017-12-28    0.805295
2017-12-29    0.235709

Мой вопрос в том, как проще всего прочитать значение в следующую предоставленную дату. Я могу увеличивать дату каждый раз на единицу и проверять, существует ли она в этом временном ряду, иначе снова увеличивать ее и так далее. Но я хочу избежать повторения этой проверки в коде, если это возможно.

Может ли кто-нибудь уточнить, какая здесь правильная команда, чтобы автоматически go переходить к следующей дате и считывать значение по ней.

Спасибо

1 Ответ

0 голосов
/ 13 июля 2020

Если «длинный временной ряд» уже отсортирован по дате

with open('a_long_time_series.txt') as f:
    for line in f:
        value = line.split()[1]
        # process value

Если не отсортирован

with open('a_long_time_series.txt') as f:
    for line in sorted(f.readlines()):
        value = line.split()[1]
        # process value
...