को सरणी की प्रथम आयाम के प्रत्येक तत्व स्थापित कर रही है सरणी, तुम कर सकते हो -
a[tuple(idx.T)] = 5
नमूना रन -
In [94]: a = np.zeros((2,2,3),dtype=int)
In [95]: idx = np.array([[0,0,0],[1,1,0],[0,1,2]])
In [96]: a[tuple(idx.T)] = 5
In [97]: a
Out[97]:
array([[[5, 0, 0],
[0, 0, 5]],
[[0, 0, 0],
[5, 0, 0]]])
In [98]: a[tuple(idx.T)] = [5,10,15] # or set different values
In [99]: a
Out[99]:
array([[[ 5, 0, 0],
[ 0, 0, 15]],
[[ 0, 0, 0],
[10, 0, 0]]])
वैकल्पिक रूप से, हम np.ravel_multi_index
साथ रैखिक सूचकांक की गणना कर सकता है और उसके बाद, np.put
साथ काम प्रदर्शन तो जैसे -
np.put(a,np.ravel_multi_index(idx.T,a.shape),5)
आप तीन आयामी सरणियों के साथ काम कर रहे हैं, तो हम तीन आयामी सूचकांक काट सकता है और करने के लिए आवंटित एक और तरीका है, तो जैसे -
a[idx[:,0],idx[:,1],idx[:,2]] = 5
यदि यह सिर्फ एक तत्व सेट किया जा करने की जरूरत है, बस करना है -
01,235,
a[tuple(idx)] = 5
नमूना रन -
In [118]: a = np.zeros((2,2,3),dtype=int)
In [119]: idx = np.array([0,0,0])
In [120]: a[tuple(idx)] = 5
In [121]: a
Out[121]:
array([[[5, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0]]])
तुम भी (नहीं numpy.array के रूप में) एक सूची का उपयोग कर सकते हैं: 'सरणी [0, 0, 0] = 5' केवल पहले शून्य करने के लिए 5. – Lucas