Dask слияния ведет себя по-разному, как слева и справа - PullRequest
0 голосов
/ 22 сентября 2018

Я хочу объединить два Dask DataFrames , и похоже, что левое объединение работает, а правое - нет:

result_dd = df_dd1.merge(df_dd2, how='left', on=['id','date']).fillna(0)
#result_dd = df_dd2.merge(df_dd1, how='right', on=['id','date']).fillna(0)

Первый работает, а второй вызываетисключение:

ValueError: The columns in the computed data do not match the columns 
    in the provided metadata

df_dd1.dtypes:

date    datetime64[ns]
dtype: object

df_dd2.dtypes:

date         datetime64[ns]
count        float64
dtype: object

Я пыталсявоспроизвести проблему на простых данных, но я не смог (на искусственном примере это работало в обе стороны).

У вас есть идеи, что может быть проблемой?

Редактировать 1:

У меня нет значений NaT / NaN.По крайней мере, isnull().sum() возвращает 0 для обоих кадров.

Заголовки кадров выглядят следующим образом (первый не пустой, но заголовок возвращает пустую рамку): df_dd1.head():

Empty DataFrame
Columns: [date]
Index: []

Для df_dd1.head(npartitions=-1) Я получаю:

                date
id  
00002           2017-05-08
00002           2017-05-09
00002           2017-05-10
00002           2017-05-11
00002           2017-05-12

И df_dd2 .head ():

      date              count
id                                               
0006d 2017-12-27        1.0
0009f 2017-10-28        2.0
000ba 2017-10-28        2.0
000cd 2017-11-14        1.0
00153 2017-12-17        1.0
...