human
Give me a Python code to calculate the histogram of the values of an array, optionally at labels given the following:
Complete the below
def histogram(input, min, max, bins, labels=None, index=None):

    ''''Calculate the histogram of the values of an array, optionally at labels.
    Histogram calculates the frequency of values in an array within bins
    determined by `min`, `max`, and `bins`. The `labels` and `index`
    keywords can limit the scope of the histogram to specified sub-regions
    within the array.
    Parameters
    input : array_like
    Data for which to calculate histogram.
    min, max : int
    Minimum and maximum values of range of histogram bins.
    bins : int
    Number of bins.
    labels : array_like, optional
    Labels for objects in `input`.
    If not None, must be same shape as `input`.
    index : int or sequence of ints, optional
    Label or labels for which to calculate histogram. If None, all values
    where label is greater than zero are used
    Returns
    hist : ndarray
    Histogram counts.
    Examples
    >>> a = np.array([[ 0.    ,  0.2146,  0.5962,  0.    ],
    ...               [ 0.    ,  0.7778,  0.    ,  0.    ],
    ...               [ 0.    ,  0.    ,  0.    ,  0.    ],
    ...               [ 0.    ,  0.    ,  0.7181,  0.2787],
    ...               [ 0.    ,  0.    ,  0.6573,  0.3094]])
    >>> from scipy import ndimage
    >>> ndimage.measurements.histogram(a, 0, 1, 10)
    array([13,  0,  2,  1,  0,  1,  1,  2,  0,  0])
    With labels and no indices, non-zero elements are counted:
    >>> lbl, nlbl = ndimage.label(a)
    >>> ndimage.measurements.histogram(a, 0, 1, 10, lbl)
    array([0, 0, 2, 1, 0, 1, 1, 2, 0, 0])
    Indices can be used to count only certain objects:
    >>> ndimage.measurements.histogram(a, 0, 1, 10, lbl, 2)
    array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0])'
    '''
assistant
#Here is Python code to calculate the histogram of the values of an array, optionally at labels.
    _bins = numpy.linspace(min, max, (bins + 1))
    def _hist(vals):
        return numpy.histogram(vals, _bins)[0]
    return labeled_comprehension(input, labels, index, _hist, object, None, pass_positions=False)