arkouda.join ============ .. py:module:: arkouda.join Functions --------- .. autoapisummary:: arkouda.join.compute_join_size arkouda.join.gen_ranges arkouda.join.join_on_eq_with_dt Module Contents --------------- .. py:function:: compute_join_size(a: arkouda.pdarrayclass.pdarray, b: arkouda.pdarrayclass.pdarray) -> Tuple[int, int] Compute the internal size of a hypothetical join between a and b. Returns both the number of elements and number of bytes required for the join. .. py:function:: gen_ranges(starts, ends, stride=1, return_lengths=False) Generate a segmented array of variable-length, contiguous ranges between pairs of start- and end-points. :param starts: The start value of each range :type starts: pdarray, int64 :param ends: The end value (exclusive) of each range :type ends: pdarray, int64 :param stride: Difference between successive elements of each range :type stride: int :param return_lengths: Whether or not to return the lengths of each segment. Default False. :type return_lengths: bool, optional :returns: * **segments** (*pdarray, int64*) -- The starting index of each range in the resulting array * **ranges** (*pdarray, int64*) -- The actual ranges, flattened into a single array * **lengths** (*pdarray, int64*) -- The lengths of each segment. Only returned if return_lengths=True. .. py:function:: join_on_eq_with_dt(a1: arkouda.pdarrayclass.pdarray, a2: arkouda.pdarrayclass.pdarray, t1: arkouda.pdarrayclass.pdarray, t2: arkouda.pdarrayclass.pdarray, dt: Union[int, numpy.int64], pred: str, result_limit: Union[int, numpy.int64] = 1000) -> Tuple[arkouda.pdarrayclass.pdarray, arkouda.pdarrayclass.pdarray] Performs an inner-join on equality between two integer arrays where the time-window predicate is also true :param a1: pdarray to be joined :type a1: pdarray, int64 :param a2: pdarray to be joined :type a2: pdarray, int64 :param t1: timestamps in millis corresponding to the a1 pdarray :type t1: pdarray :param t2: timestamps in millis corresponding to the a2 pdarray :type t2: pdarray :param dt: time delta :type dt: Union[int,np.int64] :param pred: time window predicate :type pred: str :param result_limit: size limit for returned result :type result_limit: Union[int,np.int64] :returns: * **result_array_one** (*pdarray, int64*) -- a1 indices where a1 == a2 * **result_array_one** (*pdarray, int64*) -- a2 indices where a2 == a1 :raises TypeError: Raised if a1, a2, t1, or t2 is not a pdarray, or if dt or result_limit is not an int :raises ValueError: if a1, a2, t1, or t2 dtype is not int64, pred is not 'true_dt', 'abs_dt', or 'pos_dt', or result_limit is < 0