Как преобразовать Dask DataFrame в список словарей? - PullRequest
0 голосов
/ 08 апреля 2020

Мне нужно преобразовать кадр данных dask в список словарей в качестве ответа для конечной точки API. Я знаю, что могу преобразовать кадр данных dask в pandas, а затем оттуда преобразовать в словарь, но было бы лучше отобразить каждый раздел в dict, а затем объединить.

Что я пробовал:

df = dd.read_csv(path, usecols=cols)

dd.compute(df.to_dict(orient='records'))

Ошибка, которую я получаю:

AttributeError: 'DataFrame' object has no attribute 'to_dict'

1 Ответ

1 голос
/ 08 апреля 2020

Вы можете сделать это следующим образом

import dask.bag as db
db.from_delayed(df.map_partitions(pd.DataFrame.to_dict, orient='records'
    ).to_delayed())

, что даст вам сумку , которую вы можете вычислить (если она умещается в памяти) или иным образом манипулировать.

Обратите внимание, что to_delayed / from_delayed не требуется, есть метод to_bag, но, похоже, он не работает правильно.

Кроме того, вы не особо получаете от dataframe модель здесь, вы можете начать с db.read_text и встроенного модуля CSV.

...