2016-11-20 90 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的矢量。