Python 序列的numpy矢量化赋值

Python 序列的numpy矢量化赋值,python,arrays,numpy,vectorization,Python,Arrays,Numpy,Vectorization,numpy中是否有元素到序列的矢量化分配 例如: 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() 这将用于将标量启发式映射到确定它的矩阵中的相邻单元(例如,从相关()操作中具有峰值重叠的单元的范围)。像

numpy中是否有元素到序列的矢量化分配

例如:

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()
这将用于将标量启发式映射到确定它的矩阵中的相邻单元(例如,从
相关()
操作中具有峰值重叠的单元的范围)。

像这样吗

>>> 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矩阵。使用加在一起得到一个nx2矩阵,然后将其展平为长度为2n的向量。

同样的事情,但没有展平:;只要子范围的长度都相同,问题就很容易解决。