我有一个这样的dask数据框。
pprint(daskdf.iloc[:,95:100].head())
1980-04-02 1980-04-03 1980-04-04 1980-04-05 1980-04-06
0 3.459240 0.0 2.296430 5.771730 13.344725
1 5.036489 0.0 1.021041 3.930686 8.015582
2 0.000000 0.0 0.667812 4.580948 9.824745
3 0.000000 0.0 0.708841 5.247479 10.690757
4 0.000000 0.0 0.293334 4.057512 9.703477
在pandas中,为了计算整个数据框的方差,我会使用堆栈函数,如下所示(我只用5列作为例子来展示数据的样子)。
data.iloc[:,95:100].stack().var()
Out[50]: 21.58617875939196
然而,我不能在dask中这样做,我不能堆栈一个pandas数据框架,然后转换到dask中,因为dask不支持多维索引。使用.var().mean().compute()也不能计算出同样的统计量。我如何计算整个数据集的方差,或者使用dask中的堆栈函数?
一种方法是用 var
Dask数组的功能
df.values.var()