numpy.tile()

    xiaoxiao2021-03-25  9

    numpy.tile()是个什么函数呢,说白了,就是把数组沿各个方向复制

    比如 a = np.array([0,1,2]),    np.tile(a,(2,1))就是把a先沿x轴(就这样称呼吧)复制1倍,即没有复制,仍然是 [0,1,2]。 再把结果沿y方向复制2倍,即最终得到

     array([[0,1,2],

                 [0,1,2]])

    同理:

    >>> b = np.array([[1, 2], [3, 4]]) >>> np.tile(b, 2) #沿X轴复制2倍 array([[1, 2, 1, 2], [3, 4, 3, 4]]) >>> np.tile(b, (2, 1))#沿X轴复制1倍(相当于没有复制),再沿Y轴复制2倍 array([[1, 2], [3, 4], [1, 2], [3, 4]])

    numpy.tile()具体细节,如下:

    numpy. tile ( Areps )

    Construct an array by repeating A the number of times given by reps.

    If reps has length d, the result will have dimension of max(d, A.ndim).

    If A.ndim < dA is promoted to be d-dimensional by prepending new axes. So a shape (3,) array is promoted to (1, 3) for 2-D replication, or shape (1, 1, 3) for 3-D replication. If this is not the desired behavior, promote A to d-dimensions manually before calling this function.

    If A.ndim > dreps is promoted to A.ndim by pre-pending 1’s to it. Thus for an A of shape (2, 3, 4, 5), a repsof (2, 2) is treated as  (1, 1, 2, 2).

    Note : Although tile may be used for broadcasting, it is strongly recommended to use numpy’s broadcasting operations and functions.

    Parameters:

    A : array_like

    The input array.

    reps : array_like

    The number of repetitions of A along each axis.

    Returns:

    c : ndarray

    The tiled output array.

    See also

    repeat Repeat elements of an array. broadcast_to Broadcast an array to a new shape

    Examples

    >>> >>> a = np.array([0, 1, 2]) >>> np.tile(a, 2) array([0, 1, 2, 0, 1, 2]) >>> np.tile(a, (2, 2)) array([[0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2]]) >>> np.tile(a, (2, 1, 2)) array([[[0, 1, 2, 0, 1, 2]], [[0, 1, 2, 0, 1, 2]]]) >>> >>> b = np.array([[1, 2], [3, 4]]) >>> np.tile(b, 2) array([[1, 2, 1, 2], [3, 4, 3, 4]]) >>> np.tile(b, (2, 1)) array([[1, 2], [3, 4], [1, 2], [3, 4]]) >>> >>> c = np.array([1,2,3,4]) >>> np.tile(c,(4,1)) array([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]])

    转载请注明原文地址: https://ju.6miu.com/read-114244.html

    最新回复(0)