Как получить значение одной строки чтения данных из файлов паркета в Dask? - PullRequest
0 голосов
/ 04 июня 2019

Проблема: Фрейм данных DASK

loc[concrete_row, concrete_column] 

возвращает фрейм данных pandas с несколькими строками, каждая с одинаковым индексом:

0                   [1,2,3]
0                   [1,2]
0                   [3]

вместо значения одной строки.

0                   [1,2,3]

Я читаю много файлов паркета:

dd.read_parquet(dataset_dir+'/train/date*/*.parquet')

Каждая строка в файле паркета имеет массив !!!

  • Кажется, что при вызове конкретной строки daskdataframe возвращает все значения разделов с этим индексом строки каждого раздела.
  • При чтении из файлов паркета все подразделения не равны
  • Я пытаюсь установить_индекс и установить подразделения, но оно становится слишком медленным

Мне нужно вызвать функцию map для каждой строки и получить итерируемые значения этой конкретной строки.Как мне это решить?

1 Ответ

0 голосов
/ 05 июня 2019

Мне нужно вызвать функцию map для каждой строки и получить итеративные значения этой конкретной строки.

Звучит так, будто вы хотите карту или применить методы.

def func(row):
    return ...

result = df.apply(func)

В общем, инструменты параллельных вычислений, такие как Dask, плохо подходят для получения данных по одной строке за раз. Вместо этого обычно применяют функцию ко всем вашим строкам параллельно.

...