跳到内容

broadcast_arrays

将一个或多个数组相互广播。

参数

名称 类型 描述 默认值
arrays

任意数量的待广播数组。

()

返回值

名称 类型 描述
out List[array]

一个广播后的数组列表。每个数组具有相同的形状。每个数组的 dtype 与其对应的输入数组相同。

示例

>>> a = sparse.COO.from_numpy(np.array([[0, 1]]))
>>> b = sparse.COO.from_numpy(np.array([[0], [2]]))
>>> oa, ob = sparse.broadcast_arrays(a, b)
>>> oa.todense()
array([[0, 1],
        [0, 1]])
>>> ob.todense()
array([[0, 0],
        [2, 2]])
源代码位于 sparse/numba_backend/_common.py
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
def broadcast_arrays(*arrays):
    """
    Broadcasts one or more arrays against one another.

    Parameters
    ----------
    arrays: array
        an arbitrary number of to-be broadcasted arrays.

    Returns
    -------
    out: List[array]
        a list of broadcasted arrays. Each array has the same shape.
        Each array has the same dtype as its corresponding input array.

    Examples
    --------
    >>> a = sparse.COO.from_numpy(np.array([[0, 1]]))
    >>> b = sparse.COO.from_numpy(np.array([[0], [2]]))
    >>> oa, ob = sparse.broadcast_arrays(a, b)
    >>> oa.todense()  # doctest: +NORMALIZE_WHITESPACE
    array([[0, 1],
            [0, 1]])
    >>> ob.todense()  # doctest: +NORMALIZE_WHITESPACE
    array([[0, 0],
            [2, 2]])
    """

    shape = np.broadcast_shapes(*[a.shape for a in arrays])
    return [a.broadcast_to(shape) for a in arrays]