Dask Dataframe - несколько строк из каждой строки - PullRequest
0 голосов
/ 08 июня 2018

У меня есть этот кадр данных dask, который имеет два столбца, один из которых содержит кортежи (или массивы).Я хочу, чтобы у меня был новый фрейм данных, в котором есть строка для каждого элемента кортежа в каждой строке.

Примерный фрейм данных может быть сконструирован так:

import pandas as pd
import dask.dataframe as dd
tmp = pd.DataFrame({'name': range(10), 'content': [range(i) for i in range(10)]})
ddf = dd.from_pandas(tmp, npartitions=1)

Он имеет формувот так:

ddf:   name    content
       0       ()
       1       (0)
       2       (0, 1)
       3       (0, 1, 2)
       ...

Моя цель - сделать что-то похожее на это:

ddf:   name    element
       1       0
       2       0
       2       1
       3       0
       3       1
       3       2
       ...

Заранее благодарю за помощь.


На самом делеМоя конечная цель - подсчитать количество случаев в 'element', что не вызывает затруднений, если я смогу добраться до последнего показанного мной значения.Если вы знаете другой, возможно, более простой способ достижения этого, я был бы очень признателен, если бы вы поделились им.

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете преобразовать фрейм данных tmp в нужную форму, выполнив:

tmp_2 = (tmp.set_index('name')['content']
            .apply(pd.Series).stack().astype(int)
             .reset_index().drop('level_1',1).rename(columns={0:'content'}))

, а затем создать свой ddf таким же образом.

Это не так, как вы сказалив комментарии вы можете повторить реплику.

...