小能豆

将 Pandas 数据帧转换为 Dask 数据帧

python

假设我有 pandas 数据框:

df=pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})

当我将其转换为 dask 数据帧时,参数应该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,divisionsmeta

sd=dd.Dataframe({'a':[1,2,3],'b':[4,5,6]},name=,meta=,divisions=)

阅读 69

收藏
2024-05-14

共1个答案

小能豆

在将Pandas DataFrame转换为Dask DataFrame时,你需要提供以下附加参数:

  1. name:表示Dask DataFrame的名称的字符串。
  2. divisions:一个包含数值的列表,表示Dask DataFrame中分区的边界。
  3. meta:一个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。

2024-05-14