Я хочу объединить два 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