计算整个Dask数据框架的方差。

问题描述 投票:0回答:1

我有一个这样的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中的堆栈函数?

python data-science dask
1个回答
1
投票

一种方法是用 var Dask数组的功能

df.values.var()
© www.soinside.com 2019 - 2024. All rights reserved.