У меня есть датафрейм со следующей структурой.(системное время - это индекс)
+---------------------+------+------+------+
| System_Time(index) | var1 | var2 | var3 |
+---------------------+------+------+------+
| 2017-03-28 04:24:00 | 4 | 1 | 2 |
| 2017-03-28 04:32:00 | 5 | 4 | 453 |
| 2017-03-28 04:40:00 | 6 | 21 | 2 |
| 2017-03-28 04:48:00 | 2 | 9 | 5 |
| 2017-03-28 04:56:00 | 5 | 1 | 1 |
| 2017-03-28 05:04:00 | 1 | 2 | 2 |
| 2017-03-28 05:12:00 | 8 | 5 | 2 |
+---------------------+------+------+------+
Моя цель - циклически выбирать время.Пример: я хочу получить все строки между: 2017-03-28 04:24:00 и 2017-03-28 04: 24: 00.
в настоящее время я использую dataset.loc[start_date:end_date]
(что делает работу.)
После этого я увеличиваю время на 8 минут (start_date и end_date), чтобы получить следующий выбор.(согласованный интервал в 54 минуты между start_date и end_date)
При каждом выборе я беру сумму, среднее значение или сначала для каждого столбца, чтобы получить одну строку (простые функции фрейма данных).После этого я выполняю запрос вставки, чтобы сохранить его в БД.
проблема:
Имеется примерно 15 миллионов записей, и обработка этого способа занимает около 8 часов.
Есть идеи, как мне улучшить производительность?