np.tile(A,reps)、numpy.tile(A,reps)使用

编程入门 行业动态 更新时间:2024-10-19 00:25:28

np.<a href=https://www.elefans.com/category/jswz/34/1736782.html style=tile(A,reps)、numpy.tile(A,reps)使用"/>

np.tile(A,reps)、numpy.tile(A,reps)使用

np.tile(A,reps)、numpy.tile(A,reps)使用

函数作用为在输入的数组A的维度上进行复制操作,不改变原数组A。
Parameters:
A:输入数组
reps:A在每个维度上的复制倍数(复制为原来的几倍)

函数的使用
reps的长度记为d
首先确定A的维度和d的大小关系
(1)当A.ndim > d时:
扩展reps的长度d至A的维数。例如A的shape为(2,3),而reps为(2),则可将reps视为(1,2)。

import numpy as npa = np.array([[0, 1, 2],[3,4,5]])
b=np.tile(a, (2))
c=np.tile(a, (1,2))
print(a.ndim)
print(b)
print(c)
print(a)

此处a的维度为2*3,reps为(2)则可将reps视为(1,2)即在a的第一个维度上复制到原来的1倍,在a的第二个维度上复制到原来的两倍,不改变原数组a。

2
[[0 1 2 0 1 2][3 4 5 3 4 5]][[0 1 2 0 1 2][3 4 5 3 4 5]]
[[0 1 2][3 4 5]]

综上,可以将reps为(2)则可将reps视为(1,2)进行操作,也可知道reps的值是从A的最后一个维度开始对应的。
(2)当A.ndim < d时:
会将A扩展为d维,例如A.shape为(2,3),reps为(2,3,4),则A.shape会被扩展为(1,2,3),再进行复制操作,不改变原数组a。

import numpy as npa = np.array([[0, 1, 2],[3,4,5]])
b=np.tile(a, (2,3,4))
print(a.ndim)
print(b)
print(a)
2
[[[0 1 2 0 1 2 0 1 2 0 1 2][3 4 5 3 4 5 3 4 5 3 4 5][0 1 2 0 1 2 0 1 2 0 1 2][3 4 5 3 4 5 3 4 5 3 4 5][0 1 2 0 1 2 0 1 2 0 1 2][3 4 5 3 4 5 3 4 5 3 4 5]][[0 1 2 0 1 2 0 1 2 0 1 2][3 4 5 3 4 5 3 4 5 3 4 5][0 1 2 0 1 2 0 1 2 0 1 2][3 4 5 3 4 5 3 4 5 3 4 5][0 1 2 0 1 2 0 1 2 0 1 2][3 4 5 3 4 5 3 4 5 3 4 5]]][[0 1 2][3 4 5]]

更多推荐

np.tile(A,reps)、numpy.tile(A,reps)使用

本文发布于:2024-02-25 19:52:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700114.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:tile   np   numpy   reps

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!