我想合并两个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