code: def pierson(self, ddof=0):
          
          C = self.cov(ddof=ddof)
          rho = []
          N = len(C)
          for i in range(N):
              rho += [[1.] * N]
          for i in range(N):
              for j in range(i + 1, N):
                  rho[i][j] = C[i][j] / (C[i][i] * C[j][j] or 1.) ** 0.5
                  rho[j][i] = rho[i][j]
          return rho
docs: Matrix of pierson linear correlation coefficients (rho values) for each pair of columns
  
          https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient
          >>> Columns([[1, 2, 3], [4, 5, 6]]).pierson()
          [[1.0, 1.0], [1.0, 1.0]]
          >>> Columns([[1, 2, 3], [2.5, 3.5, 4.5]], transpose=True).pierson()
          [[1.0, 1.0], [1.0, 1.0]]
          >>> Columns([[1, 3, 2], [4, 5, 7]], transpose=1).pierson()  # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
          [[1.0, 0.327326835...], [0.327326835..., 1.0]]