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')})
我正在尝试将 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')})