This question already has answers here:
Vectorized NumPy linspace for multiple start and stop values
(4个答案)
3年前关闭。
在numpy like in this discussion中是否存在元素对序列的矢量化分配?
例如:
而不是循环:
这将用于将标量启发式方法映射到确定它的矩阵中的相邻单元(例如,具有
(4个答案)
3年前关闭。
在numpy like in this discussion中是否存在元素对序列的矢量化分配?
例如:
xx = np.array([1,2], dtype=object)
expanded = np.arange(xx, xx+2)
而不是循环:
xx = np.array([1,2], dtype=object)
expanded = np.array([np.arange(x, x+2) for x in xx]).flatten()
这将用于将标量启发式方法映射到确定它的矩阵中的相邻单元(例如,具有
correlation()
运算的峰值重叠的单元的范围)。 最佳答案
像这样?
>>> xx = np.array([3,8,19])
>>> (xx[:,None]+np.arange(2)[None,:]).flatten()
array([ 3, 4, 8, 9, 19, 20])
xx[:,None]
操作将长度为n的向量转换为nx1矩阵,而np.arange(2)[None,:])
操作将创建一个包含[0., 1.]
的长度为1x2的矩阵。使用array broadcasting加在一起得到nx2矩阵,然后将其展平为2n长的向量。关于python - numpy序列的向量化分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40710390/
10-12 18:15