Python Dask两个连续的consequent concats会导致一个取消的错误

Python Dask两个连续的consequent concats会导致一个取消的错误,python,dask,Python,Dask,在数据帧上使用concat两次后,我得到了一个意外的行为,如下所示: import dask.dataframe as dd import pandas as pd ddf1 = dd.from_pandas(pd.DataFrame({'A': range(10), 'B': [1,3,5,7,9,11,13,15,17,19]}), npartitions=4) ddf2 = dd.from_pandas(pd.DataFrame({'A': range(10), 'B': range(1

在数据帧上使用concat两次后,我得到了一个意外的行为,如下所示:

import dask.dataframe as dd
import pandas as pd

ddf1 = dd.from_pandas(pd.DataFrame({'A': range(10), 'B': [1,3,5,7,9,11,13,15,17,19]}), npartitions=4)
ddf2 = dd.from_pandas(pd.DataFrame({'A': range(10), 'B': range(10)}), npartitions=4)
ddf3 = dd.from_pandas(pd.DataFrame({'A': range(10), 'B': range(10)}), npartitions=4)

cc1 = dd.concat([ddf1, ddf2], interleave_partitions=True)
cc1.compute()  
# all is fine!

cc2 = dd.concat([cc1, ddf3], interleave_partitions=True)
cc2.compute() 
# KeyError: 'Cannot get left slice bound for non-unique label: 0'
# CancelledError : ('concat-indexed-8c92ebf8ac1bab2c09ee51c1da6ef22d', 0)

我是否做错了什么,或者这是一个必须报告的错误?

问题在于合并后索引丢失。解决方法是在第二次会议之前设置索引


一个有用的提示是,如果错误是关于非唯一索引的,那么它为什么不出现在第一个concat之后?