parameters: (self)
return_statement: return np.array(list(itertools.product(*edges))).reshape(shape)
docstring: Returns
          -------
          :obj:`ndarray` of :obj:`float`
              Positions between the bins. If the histogram has dimensions
              ``(M,N,O)``, the bin edges have dimensions ``(M+1,N+1,O+1,3)``.
docstring_summary: Returns
          -------
          :obj:`ndarray` of :obj:`float`
              Positions between the bins. If the histogram has dimensions
              ``(M,N,O)``, the bin edges have dimensions ``(M+1,N+1,O+1,3)``.
docstring_tokens: Returns ------- : obj : ndarray of : obj : float Positions between the bins . If the histogram has dimensions ( M N O ) the bin edges have dimensions ( M + 1 N + 1 O + 1 3 ) .
function: def bin_edges(self):
          """
          Returns
          -------
          :obj:`ndarray` of :obj:`float`
              Positions between the bins. If the histogram has dimensions
              ``(M,N,O)``, the bin edges have dimensions ``(M+1,N+1,O+1,3)``.
          """
          edges = self.call_method("edges")
          shape = list(map(len, edges)) + [len(edges)]
          return np.array(list(itertools.product(*edges))).reshape(shape)
function_tokens: def bin_edges ( self ) : edges = self . call_method ( "edges" ) shape = list ( map ( len , edges ) ) + [ len ( edges ) ] return np . array ( list ( itertools . product ( * edges ) ) ) . reshape ( shape )