Pythonic версия цикла - PullRequest
       7

Pythonic версия цикла

0 голосов
/ 16 мая 2018

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

#create a datelist index of smaller intervals

start_date = dtm.datetime(2014,1,1)
end_date = dtm.datetime.now()
datelist = pd.date_range(start=start_date, end=end_date, freq='M')
start_date = datelist[-1].date() +dtm.timedelta(days=1)
datelist.append(pd.date_range(start=start_date, end=end_date, freq='D'))

#get the intial and next date on the list convert to UNIX format and pass the interval on the API call

for n in range(len(datelist)-1):
    indateunix = tm.mktime(datelist[n].timetuple())
    enddateunix = tm.mktime(datelist[n + 1].timetuple())
    templist = self._api_call.returnChartData(ticker= 'FB', period='D',start=indateunix, end=enddateunix)
    arr = arr + templist

Я думаю, что это не лучший способ сделать это, есть ли питонная версия для того же цикла?

1 Ответ

0 голосов
/ 17 мая 2018

использование zip:

for indate, enddate in zip(datelist, datelist[1:]):
    indateunix = tm.mktime(indate.timetuple())
    enddateunix = tm.mktime(enddate.timetuple())
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...