Как быстрее объединить dask Dataframes с индексом datetime? - PullRequest
0 голосов
/ 24 января 2019

У меня проблема, аналогичная this , при объединении двух датафреймов с индексом временной метки по вертикали.

У меня есть два кадра данных dfk df1, df2:

df1.index:

Dask Index Structure:

npartitions=1

2018-03-03 13:04:44.497929    datetime64[ns]

2018-03-03 13:23:04.759840               ...

Name: time, dtype: datetime64[ns]

Dask Name: getitem, 8 tasks

df2.index:

Dask Index Structure:

npartitions=1

2018-03-03 07:09:04.184453    datetime64[ns]

2018-03-03 07:32:46.815356               ...

Name: time, dtype: datetime64[ns]

Dask Name: getitem, 8 tasks

Они имеют одинаковые имена и типы столбцов. Теперь я хочу объединить их, используя dask.dataframe.concat:

#df1 & df2 are dask dataframes

print(df1.divisions)

print(df2.divisions)

dfs=dd.concat([df1,df2],axis=0,interleave_partitions=False)

Выход:

(метка времени ('2018-03-03 13: 04: 44.497929'), метка времени ('2018-03-03 13: 23: 04.759840')) (Метка времени ('2018-03-03 07: 09: 04.184453'), Метка времени ('2018-03-03 07: 32: 46.815356')) ValueError: Все входы имеют известные деления, которые нельзя объединять по порядку. Укажите interleave_partitions = True, чтобы игнорировать порядок


Два ddf не могут быть объединены, если не указано interleave_partitions = True. Но нет чередования между индексами двух фреймов данных. Это было вызвано ограничением поддержки datetimeindex в dask? Или мне нужно указать другие параметры или преобразовать индекс в int или double?

1 Ответ

0 голосов
/ 20 февраля 2019

Но между индексами двух фреймов данных нет чередования

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

dfs=dd.concat([df1,df2],axis=0,interleave_partitions=True)

Если вы считаете, что столкнулись с ошибкой, я рекомендую вам свести ее к минимальному примеру.и опубликовать отчет об ошибке.

...