执行上述代码提示:TypeError: from_delayed() got an unexpected keyword argument 'columns'
时间: 2023-07-31 07:04:04 浏览: 137
TypeError: Unexpected keyword argument passed to optimizer: learning_rate 解决方法
非常抱歉,我之前的回答有误。确实,`dask.dataframe.from_delayed()`函数没有`columns`参数。要自定义构建Dask DataFrame的列和数据,可以使用以下方法:
1. 使用`dask.delayed()`函数构建包含要使用的数据的函数。这个函数应该返回一个Dask数组或列表。
2. 使用`dask.compute()`函数调用这些函数,以获得实际的数据。
3. 将这些数据存储在一个字典中,其中键是列名,值是相应的数据。
4. 将字典传递给`dask.dataframe.from_dask_array()`函数,该函数将使用您提供的列名和数据创建Dask DataFrame。
以下是一个示例,演示如何使用这些步骤创建Dask DataFrame:
```
import dask
import dask.dataframe as dd
import numpy as np
# 使用dask.delayed()函数构建数据
@dask.delayed
def create_data():
return np.random.randint(0, 100, size=100)
# 使用dask.compute()函数调用这些函数
data = dask.compute(create_data(), create_data())
# 将数据存储在一个字典中,其中键是列名,值是相应的数据
data_dict = {'id': data[0], 'value': data[1]}
# 使用dask.dataframe.from_dask_array()函数创建Dask DataFrame
df = dd.from_dask_array(data_dict)
# 现在,您可以使用Dask DataFrame执行各种操作
print(df.head())
```
在这个例子中,我们使用`dask.delayed()`函数创建了一个函数`create_data()`,该函数返回一个包含100个随机整数的Numpy数组。然后,我们使用`dask.compute()`函数调用这个函数,以获得实际的数据。接下来,我们将这些数据存储在一个字典中,其中键是列名,值是相应的数据。最后,我们使用`dask.dataframe.from_dask_array()`函数创建了Dask DataFrame,并将字典传递给它。
阅读全文