Разделение данных Dask
(Очень похоже на этот оставшийся без ответа вопрос указать, как разбить кадр данных Dask? )
Настройка
- 365 файлов паркета, по одному в день.
- 111 МБ каждый (всего около 30 ГБ).
- Каждый содержит ~ 100 уникальных идентификаторов
- С каждым уникальным идентификатором связано 144 отметки времени (один раз каждые 10 минут на весь день).
- Таким образом, общее количество строк составляет около 100 (объекты) * 144 (отметки времени)
Каждый файл выглядит примерно так: разные файлы покрывают разные дни:
+-----------+---------------------+--------+---------+
| IDCol | Timestamp | Data_1 | Data... |
+-----------+---------------------+--------+---------+
| Object_1 | 2019-01-01 00:00:00 | 1.0 | 2.5 |
| Object_1 | 2019-01-01 00:10:00 | 1.0 | 2.5 |
| Object_1 | 2019-01-01 00:20:00 | 1.0 | 2.5 |
| ... | ... | ... | ... |
| Object_2 | 2019-01-01 00:00:00 | 1.0 | 2.5 |
| Object_2 | 2019-01-01 00:10:00 | 1.0 | 2.5 |
| Object_2 | 2019-01-01 00:20:00 | 1.0 | 2.5 |
| ... | ... | ... | ... |
+-----------+---------------------+--------+---------+
Вопрос: Как лучше разбить этот фрейм данных при работе с dask?
Это будет использоваться для исследования большого количества данных, поэтому я хотел бы получить быстрые способы доступа к отдельным объектам или получения данных от всех объектов в определенное время в заданном столбце.
Мне, имеет смысл проиндексировать на IDCol, сделать раздел для каждого ID, а затем индексировать эти последующие разделы на отметке времени. Но насколько я понимаю, dask допускает только один столбец индекса?
Оценка помощи пациенту!