У меня есть несколько фреймов данных:
import pandas as pd
import numpy as np
router = pd.DataFrame([
['2018-01-01 00:00:00', '1', 5],
['2018-01-01 00:30:00', '1', 7],
['2018-01-01 01:00:00', '1', 25],
['2018-01-01 01:30:00', '1', 3],
['2018-01-01 00:00:00', '2', 25],
['2018-01-01 00:30:00', '2', 7],
['2018-01-01 01:00:00', '2', 25],
['2018-01-01 01:30:00', '2', 35],
], columns=['time', 'cust_id', 'errors'])
router
![enter image description here](https://i.stack.imgur.com/N9v7A.png)
devices = pd.DataFrame([
['2018-01-01 00:00:00', '1', 'dev_1'],
['2018-01-01 00:30:00', '1', 'dev_1'],
['2018-01-01 00:30:00', '1', 'dev_2'],
['2018-01-01 01:00:00', '1', 'dev_1'],
['2018-01-01 01:00:00', '1', 'dev_2'],
['2018-01-01 01:00:00', '1', 'dev_3'],
['2018-01-01 01:30:00', '1', 'dev_2'],
['2018-01-01 00:00:00', '2', 'dev_1'],
['2018-01-01 00:00:00', '2', 'dev_2'],
['2018-01-01 00:30:00', '2', 'dev_1'],
['2018-01-01 01:00:00', '2', 'dev_2'],
['2018-01-01 01:00:00', '2', 'dev_3'],
['2018-01-01 01:30:00', '2', 'dev_2'],
['2018-01-01 01:30:00', '2', 'dev_4'],
], columns=['time', 'cust_id', 'device_id'])
devices
![enter image description here](https://i.stack.imgur.com/ga2wf.png)
Используя панд, я могу группировать и вычислять уникальные устройства:
devices_per_time = devices.groupby(['cust_id', 'time'])['device_id'].unique().to_frame()
devices_per_time
![enter image description here](https://i.stack.imgur.com/88LPn.png)
Я пытался сделать то же самое с dask:
![enter image description here](https://i.stack.imgur.com/t30Ve.png)
У меня есть следующие вопросы:
- Почему я не могу использовать devices.groupby (['cust_id', 'time']) ['device_id']. unique ()?
- Мне удается получить результат, но я не уверен, является ли он оптимальным.Может ли кто-нибудь подтвердить, что я правильно использую dask?
С уважением.