map_partitions 数据框的 Dask 元数据

Dask meta for map_partitions dataframe

我正在尝试将 map_partitions 与 Dask 中的自定义函数一起使用,我想 return 具有几列的数据框,但是当我提供元数​​据时,我收到以下错误:

Exception: AttributeError("'DataFrame' object has no attribute 'name'")

如果我将 meta 指定为一个系列,它可以正常工作,但如果我向 meta 传递一个空数据框,我会收到上面的内容。

def mytest(self, df):
        return df['Bedrooms']

meta = ('Bedrooms', 'i8') #This works
meta = pd.DataFrame({'Bedrooms': pd.Series(dtype='i8')}) #This doesn't

bedrooms = df.map_partitions(self.mytest, weather_file_location, year, meta=meta)

系列解决方案仅用于测试,因为我确实需要使用具有多列的数据框。我不确定我是不是没有正确创建空数据框,还是有其他方法可以为数据框传递元数据?

做一些额外的测试问题似乎是传递单列不起作用,但多列可以。

meta = pd.DataFrame({'Bedrooms': pd.Series(dtype='i8', 'Lights': pd.Series(dtype='i8')})