我試圖填充一個numpy
數組,我似乎無法從numpy的文檔中找到正確的方法。我有一個數組:使用零填充一個numpy數組,並使用另一個數組作爲索引
a = array([2, 1, 3, 5, 7])
這表示我希望創建的數組的索引。所以在索引值2或1或3等我想有一個在數組中,並在目標數組中的其他任何地方,填充零。有點像數組掩碼。我還想指定目標陣列的總長度,l
。所以,我的理想功能想是這樣的:
>>> foo(a,l)
array([0,1,1,1,0,1,0,1,0,0,0]
,其中l=10
對於上面的例子。
編輯:
所以我寫了這個功能:
def padwithones(a,l) :
p = np.zeros(l)
for i in a :
p = np.insert(p,i,1)
return p
其中給出:
Out[19]:
array([ 0., 1., 0., 1., 1., 1., 0., 1., 0., 0., 0., 0., 0.,
0., 0.])
這是不正確!
你嘗試過什麼嗎?也許使用'np.zeros'然後索引賦值......? –
所以使用生成器可能會確定何時要插入'np.zeros'數組? –
不,只是'array_of_zeroes [a] = 1' –