class_docstr: Online Pearson correlation.
  
  Parameters
  ----------
  ddof
      Delta Degrees of Freedom.
  
  Attributes
  ----------
  var_x : stats.Var
      Running variance of `x`.
  var_y : stats.Var
      Running variance of `y`.
  cov_xy : stats.Cov
      Running covariance of `x` and `y`.
  
  Examples
  --------
  
  >>> from river import stats
  
  >>> x = [0, 0, 0, 1, 1, 1, 1]
  >>> y = [0, 1, 2, 3, 4, 5, 6]
  
  >>> pearson = stats.PearsonCorr()
  
  >>> for xi, yi in zip(x, y):
  ...     pearson.update(xi, yi)
  ...     print(pearson.get())
  0
  0
  0
  0.774596
  0.866025
  0.878310
  0.866025
  
  You can also do this in a rolling fashion:
  
  >>> from river import utils
  
  >>> x = [0, 0, 0, 1, 1, 1, 1]
  >>> y = [0, 1, 2, 3, 4, 5, 6]
  
  >>> pearson = utils.Rolling(stats.PearsonCorr(), window_size=4)
  
  >>> for xi, yi in zip(x, y):
  ...     pearson.update(xi, yi)
  ...     print(pearson.get())
  0
  0
  0
  0.7745966692414834
  0.8944271909999159
  0.7745966692414832
  -4.712160915387242e-09
code: def update(self, x, y):
      self.var_x.update(x)
      self.var_y.update(y)
      self.cov_xy.update(x, y)
  
file_path: river/river/stats/pearson.py
imports: from __future__ import annotations
  from river import stats
label_desc: Use image node_id 3 for calling the PearsonCorr obj's underlying member method code with example usage: obj.update(x, y) without return types