Назначить строку данных pandas в раздел Dask DataFrame - PullRequest
0 голосов
/ 16 октября 2019

Предположим, dask dataframe с X разделами. Предположим, что кадр данных pandas с тем же числом строк XКаждая строка кадра данных pandas содержит данные, относящиеся к каждому разделу кадра данных dask.

Я хотел бы назначить каждую строку pandas df новому столбцу раздела dask dataframe

import pandas as pd
import dask
imoprt numpy as np

# default dask dataframe with 30 partitions
ddf = dask.datasets.timeseries()

df0 = pd.DataFrame({'A': np.random.randint(0,100, size=30),
                   'B': np.random.randint(0,100, size=30)})

Очень неэффективный способ сделать этобудет:

df_list = []
for n in range(ddf.npartitions):
    df_list.append(ddf.partitions[n])

for i,df in enumerate(df_list):
    df['A'] = df0['A'].iloc[i]

Как я могу достичь того же результата, но остаться в сумраке? Может быть, с map_partitions?

Если это невозможно в сумерках, как это может быть более эффективно, избегая циклов?

1 Ответ

0 голосов
/ 19 октября 2019

Ваш цикл for превышает только количество разделов, которое обычно невелико (менее 10000), поэтому эффективность вряд ли будет проблемой здесь.

...