0
我想將值附加到數組的選擇而無需通過for循環。numpy追加到索引數組(在np.where後)
即,如果欲0值添加到陣列的某些位置:
澄清a=np.array([[1,2,3,4,5],[1,2,3,4,5]])
condition=np.where(a>2)
a[condition]=np.append(a[condition],np.array([0]*len(condition[0])))
-> ValueError: shape mismatch: value array of shape (12,) could not be broadcast to indexing result of shape (6,)
編輯:
我需要添加的值(並且如果需要的尺寸)到選定陣列位置。循環看起來像這樣:
for t in range(len(ind)):
c = cols[t]
r = rows[t]
if data1[r, c] > 2:
data2[r,c]=np.append(data2[r,c],t)
有什麼辦法消除這種循環(100〜000次迭代)?謝謝
期望的結果是什麼? – unutbu