Функция применения Pandas-Dask DataFrame с возвратом списка

1

Я пытаюсь добавить несколько столбцов в dysframe для хранения результатов функции apply. Это будет мой первый вопрос о переполнении стека, я надеюсь, что это не слишком долго!

Текущий у меня есть эта часть кода:

from dask import dataframe as dd
from multiprocessing import cpu_count
nCores = cpu_count()

import dask.multiprocessing
dask.config.set(scheduler='processes')

def dfFunc(varA, varB):
    # Some calculations...
    return NewValue

ddf = dd.from_pandas(weather,npartitions=nCores)
ddf['NewCol1'] = ddf.map_partitions(lambda df: df.apply(lambda x: dfFunc(x['VarA'],x['VarB']), axis=1))
res = ddf.compute()

По сути, я создаю в качестве dask dataframe из pandas dataframe "weather", тогда я применяю функцию "dfFunc" к каждой строке фрейма данных.

Этот фрагмент кода отлично работает, так как выходной "res" является исходным фреймворком данных с новым столбцом "NewCol1".

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

От взгляда на предыдущие потоки, используя список, предположительно предположим, что нужно добавить столбцы в Pandas Dataframe. Следовательно, изменение линий

return NewValue
ddf['newCol1'] = 

К следующему:

return [NewValue1,NewValue2]
ddf = 

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

X    Y    
val  val  [NewValue1,NewValue2]

В качестве бонуса я хотел бы также назначать имена этим столбцам в этом процессе, но поскольку ddf.compute() возвращает панда данных, добавление имен столбцов в дальнейшем не должно быть слишком сложным.

Теги:
pandas
dataframe
dask

1 ответ

0

Похоже, что уже есть аналогичный вопрос, который я пропустил при переполнении стека. Ну, по крайней мере, вопрос, который дает решение этой проблемы.

Dask Dataframe разделяет столбец списка на несколько столбцов

Ещё вопросы

Сообщество Overcoder
Наверх
Меню