Example #1
0
def _(data: RDD, fr: float, to: float, bins: int) -> Tuple[ndarray, ndarray]:
    @jit(['uint64[:](uint64[:], int64)', 'uint64[:](uint64[:], float64)'],
         nopython=True,
         nogil=True)
    def inc(init: ndarray, value: float) -> ndarray:
        binned = digitize([value], linspace(fr, to, bins + 1))
        for i in binned:
            init[i] += 1
        return init

    hist = data.aggregate(zeros(bins + 2, dtype=uint64), inc, com)
    return hist, linspace(fr, to, bins + 1)
Example #2
0
def _(data: RDD, xfr: float, xto: float, xbins: int, yfr: float, yto: float,
      ybins: int) -> Tuple[ndarray, ndarray, ndarray]:
    @jit([
        'uint64[:, :](uint64[:, :], int64[:])',
        'uint64[:, :](uint64[:, :], float64[:])'
    ],
         nopython=True,
         nogil=True)
    def inc(init: ndarray, value: Tuple[float, float]) -> ndarray:
        xbinned = digitize([value[0]], linspace(xfr, xto, xbins + 1))
        ybinned = digitize([value[1]], linspace(yfr, yto, ybins + 1))
        for x, y in zip(xbinned, ybinned):
            init[x, y] += 1
        return init

    hist = data.aggregate(zeros((xbins + 2, ybins + 2), dtype=uint64), inc,
                          com)
    return hist, linspace(xfr, xto, xbins + 1), linspace(yfr, yto, ybins + 1)