假设我有 pandas 数据框:
df=pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
当我将其转换为 dask 数据帧时,参数应该name包含divisions以下内容:
name
divisions
from dask import dataframe as dd sd=dd.DataFrame(df.to_dict(),divisions=1,meta=pd.DataFrame(columns=df.columns,index=df.index))
类型错误:init () 缺少 1 个必需的位置参数:’name’
编辑:假设我创建一个 pandas 数据框,例如:
pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
类似地,如何创建 dask 数据帧,因为它需要三个附加参数name,divisions和meta。
name,divisions
meta
sd=dd.Dataframe({'a':[1,2,3],'b':[4,5,6]},name=,meta=,divisions=)
在将Pandas DataFrame转换为Dask DataFrame时,你需要提供以下附加参数:
下面是你可以做的:
import pandas as pd import dask.dataframe as dd # 创建一个Pandas DataFrame df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}) # 定义Dask DataFrame的name、divisions和meta name = 'my_dask_dataframe' divisions = [0, 1, 2, 3] # 例如分区边界,根据数据分布定义 meta = pd.DataFrame(columns=df.columns, index=df.index) # 将Pandas DataFrame转换为Dask DataFrame dd_df = dd.from_pandas(df, name=name, meta=meta, divisions=divisions)
在这个示例中: - name 可以是任何表示Dask DataFrame名称的字符串。 - divisions 是一个包含数值的列表,定义了Dask DataFrame中分区的边界。这些值应该指示索引的分割点。你需要根据你的数据分布定义分区。 - meta 是一个Pandas DataFrame,指定了Dask DataFrame的模式(列名、数据类型等)。你可以创建一个与原始DataFrame具有相同列和索引的空DataFrame作为meta。