列的Dask Dataframe总和始终返回标量

时间:2018-10-05 10:38:36

标签: python pandas dataframe dask

我创建了一个Dask Dataframe(称为“ df”),索引为“ 11”的列具有整数值:

In [62]: df[11]
Out[62]:
Dask Series Structure:
npartitions=42
    int64
      ...
    ...
      ...
      ...
Name: 11, dtype: int64
Dask Name: getitem, 168 tasks

我正试图将它们与:

df[11].sum() 

我得到了dd.Scalar<series-..., dtype=int64>的退货。尽管已经研究了这可能意味着什么,但我仍然对为什么我没有得到一个数值返回值持怀疑态度。如何将其转换为数值?

1 个答案:

答案 0 :(得分:2)

我认为您需要compute来告诉Dask处理之前发生的所有事情:

  

计算(** kwargs)
  计算这个dask集合

     

这会将懒惰的Dask集合变成其内存中的等效项。例如,Dask.array变成numpy.array(),而Dask.dataframe变成Pandas数据帧。调用此操作之前,整个数据集必须适合内存。

df[11].sum().compute()