Я работал в течение некоторого времени, используя python и pandas для анализа набора почасовых данных, и нахожу это довольно хорошим (исходя из Matlab.)
Теперь я вроде как застрявший. Я создал свой DataFrame
следующим образом:
SamplingRateMinutes=60
index = DateRange(initialTime,finalTime, offset=datetools.Minute(SamplingRateMinutes))
ts=DataFrame(data, index=index)
Теперь я хочу выбрать данные за все дни с 10 до 13 часов и с 20 до 23 часов, чтобы использовать данные для дальнейших расчетов. До сих пор я нарезал данные, используя
selectedData=ts[begin:end]
, и я уверен, что получу какой-то грязный цикл для выбора необходимых данных. Но должен быть более элегантный способ индексировать именно то, что я хочу. Я уверен, что это распространенная проблема, и решение в псевдокоде должно выглядеть примерно так:
myIndex=ts.index[10<=ts.index.hour<=13 or 20<=ts.index.hour<=23]
selectedData=ts[myIndex]
Кстати, я инженер, а не программист :) ... пока