2016-09-27 158 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