code: def std(self, axis):
          
          def weighted_std(values, weights, axis):
              # Stolen from http://stackoverflow.com/questions/2413522
              average = np.average(values, weights=weights, axis=axis)
              average = average[self._simsalabim_slice(axis)]
              variance = np.average((values-average)**2, weights=weights, axis=axis)
              return np.sqrt(variance)
          
          axis = self.get_axis_number(axis)
          std_hist = weighted_std(self.all_axis_bin_centers(axis),
                                  weights=self.histogram, axis=axis)
          if self.dimensions == 2:
              new_hist = Hist1d
          else:
              new_hist = Histdd
          return new_hist.from_histogram(histogram=std_hist,
                                         bin_edges=itemgetter(*self.other_axes(axis))(self.bin_edges),
                                         axis_names=self.axis_names_without(axis))
docs: Returns d-1 dimensional histogram of (estimated) std value along axis
          NB this is very different from just std of the histogram values (which describe bin counts)