Рассчитать дисперсию целого кадра данных Dask - PullRequest
0 голосов
/ 04 мая 2020

У меня есть такой фрейм данных 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 dataframe, а затем преобразовать в dask как dask не поддерживает многомерные индексы. Использование .var (). Mean (). Compute () также не вычисляет такую ​​же статистику c. Как я могу вычислить дисперсию всего набора данных и / или использовать функцию стека в dask?

1 Ответ

0 голосов
/ 08 мая 2020

Один из подходов заключается в использовании функции var массивов Dask

df.values.var()
...