2016-11-20 46 views
1

是否存在对numpy like in this discussion序列的向量化元素赋值?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() 

这将是在判定为矩阵状的标量启发式映射到相邻小区(例如,范围具有与correlation()操作重叠的峰的细胞的)。

+1

同样的事情,但没有flatten:http://stackoverflow.com/questions/40624409/creating-nd-arrays-with-different-rows;只要子范围的长度都一样,问题就很容易了。 – hpaulj

回答

1

是否这样?

>>> 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.]的长度1×2矩阵。使用array broadcasting添加在一起给出了一个nx2矩阵,然后将其平化为长度为2n的矢量。