2016-09-27 121 views
5

假设我有熊猫据帧为:转换熊猫据帧到DASK数据帧

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

当我把它转换成DASK数据帧又该namedivisions参数包括:

from dask import dataframe as dd 
sd=dd.DataFrame(df.to_dict(),divisions=1,meta=pd.DataFrame(columns=df.columns,index=df.index)) 

TypeError: init() missing 1 required positional argument: 'name'

编辑: 假设我创建了一个熊猫数据框:

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=) 

谢谢您的回复。

回答

9

我认为你可以使用dask.dataframe.from_pandas

from dask import dataframe as dd 
sd = dd.from_pandas(df, npartitions=3) 
print (sd) 
dd.DataFrame<from_pa..., npartitions=2, divisions=(0, 1, 2)> 

编辑:

我发现solution

import pandas as pd 
import dask.dataframe as dd 
from dask.dataframe.utils import make_meta 

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

dsk = {('x', 0): df} 

meta = make_meta({'a': 'i8', 'b': 'i8'}, index=pd.Index([], 'i8')) 
d = dd.DataFrame(dsk, name='x', meta=meta, divisions=[0, 1, 2]) 
print (d) 
dd.DataFrame<x, npartitions=2, divisions=(0, 1, 2)> 
+0

感谢您的答复,但我想要的是什么名称和部门的参数,而创建dask dataframe.I已经通过文档,但无法理解。 – rey

+0

我不是'dask'专家,但我认为你需要[rom-raw-dask-graphs](http://dask.pydata.org/en/latest/dataframe-create.html#from-raw-dask-但我认为[dask的作者](http://stackoverflow.com/users/616616/mrocklin)解释更多。 – jezrael

+1

谢谢我会尽力找出答案并等待其他答案。 – rey