2016-09-27 14 views
5

Załóżmy, że mam pandy dataframe jak:Konwersja pandy dataframe do dask dataframe

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

Kiedy przekształcić go w dask dataframe co powinno name i divisions parametr składa się z:

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'

Edycja: Załóżmy, że tworzę pandową ramkę danych, taką jak:

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

Podobnie, jak utworzyć beczkę z danymi, ponieważ potrzebuje ona trzech dodatkowych argumentów jako name,divisions i meta.

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

Dziękuję za odpowiedź.

Odpowiedz

9

myślę, że można użyć 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)> 

EDIT:

znajdę 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

Dzięki za odpowiedź, ale chcę, aby to, co jest imię i podziałów parametru, natomiast tworzenie beczki danych. Przejrzałem dokumentację, ale nie mogłem jej zrozumieć. – rey

+0

Nie jestem ekspertem od "dask", ale myślę, że potrzebujesz [rom-raw-dask-graphs] (http://dask.pydata.org/en/latest/dataframe-create.html#from-raw-dask- wykresy). Ale myślę, że [autor dask] (http://stackoverflow.com/users/616616/mrocklin) wyjaśnić więcej. – jezrael

+1

Dziękuję Postaram się to rozgryźć i czekać na inne odpowiedzi. – rey