docs: def stddev_samples(data, xcol, ycollist, delta=1.0):
      """Create a sample list that contains the mean and standard deviation of the original list. Each element in the returned list contains following values: [MEAN, STDDEV, MEAN - STDDEV*delta, MEAN + STDDEV*delta].
  
  >>> chart_data.stddev_samples([ [1, 10, 15, 12, 15], [2, 5, 10, 5, 10], [3, 32, 33, 35, 36], [4,16,66, 67, 68] ], 0, range(1,5))
  [(1, 13.0, 2.1213203435596424, 10.878679656440358, 15.121320343559642), (2, 7.5, 2.5, 5.0, 10.0), (3, 34.0, 1.5811388300841898, 32.418861169915807, 35.581138830084193), (4, 54.25, 22.094965489902897, 32.155034510097103, 76.344965489902904)]
  """
      out = []
      numcol = len(ycollist)
      try:
          for elem in data:
              total = 0
              for col in ycollist:
                  total += elem[col]
              mean = float(total) / numcol
              variance = 0
              for col in ycollist:
                  variance += (mean - elem[col]) ** 2
              stddev = math.sqrt(variance / numcol) * delta
              out.append((elem[xcol], mean, stddev, mean - stddev, mean + stddev))
  
  
  
      except IndexError:
          raise IndexError("bad data: %s,xcol=%d,ycollist=%s" % (data, xcol, ycollist))
      return out