Разделение фрейма данных dask по идентификатору и метке времени - PullRequest
0 голосов
/ 19 апреля 2020

Разделение данных 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 допускает только один столбец индекса?

Оценка помощи пациенту!

...