Implementing np.subtract.outer for index of array([[array .... structure in python -
मेरे पास सूचकांक का निम्न सेट है;
ind = array ([[array ( [[1, 2, 3, 6]), [सरणी ([2, 3, 7] [0, 1, 4]), [सरणी ([0, 1, 2, 5]), ), [सरणी ([2, 5, 6, 7, 10]), [सरणी ([0, 4, 5, 8])], [सरणी ([1, 4, 5, 6, 9])], [सरणी ([2, 5, 6, 7, 10]) ], [सरणी ([5, 8, 9, 10, 13]), [सरणी ([3, 6, 7, 11])], [सरणी ([4, 8, 9, 12])], [ सरणी ([6, 9, 10, 11, 14])], [सरणी ([7, 10, 11, 15]), [सरणी ([8, 12, 13])], [सरणी ([9, 12, 13, 14]), [सरणी ([10, 13, 14, 15]), [सरणी ([11, 14, 15])]]) X , जो नीचे दिखाया गया है एक्स = सरणी ([[0., 0.], [0.33333333, 0.], [0.66666667, 0.], [0, 0, 03333333], [0.33333333, 0.33333333], [0.66666667, 0.33333333], [1.33333333], [0., 0.66666667], [0.33333333, 0.66666667], [0.66666667, 0.66666667], [1., 0.66666667], [0., 1], [0.33333333, 1.], [0.66666667, 1.], [1., 1.]]) < P> forloop टी का उपयोग किए बिना एक कारगर तरीका है ओ निम्नलिखित मैट्रिक्स प्राप्त करें; ए = [एक्स [0,0] -एक्स [0,0] एक्स [0,0] -एक्स [1,0] एक्स [0,0] -एक्स [4, 0] एक्स [1,0] -एक्स [0,0] एक्स [1,0] -एक्स [1,0] एक्स [1,0] -एक्स [2,0] एक्स [1,0] -एक्स [ 5,0] एक्स [2,0] -एक्स [1,0] एक्स [2,0] -एक्स [2,0] एक्स [2,0] -एक्स [3,0] एक्स [2,0] - एक्स [6,0] ... ... ... एक्स [15,0] -एक्स [11,0] एक्स [15,0] -एक्स [14,0] एक्स [15,0] -एक्स [ 15,0]] मैंने पहले ही np.subtract.outer और np.subtract की कोशिश की है। इंडस्ट्रीज़ संरचना के साथ काम करना बहुत मुश्किल है (बस का उपयोग करके X [ind, 0] कहते हैं)। मैं इंडस्ट्रीज़ संरचना को बदलना पसंद नहीं करता मैट्रिक्स ए को प्राप्त करने के लिए forloop का उपयोग किए बिना क्लीवर मार्ग की तलाश कर रहा है।
यदि आप इंडेक्स की सरणी को बदलते हैं जैसे:
/ P>
ind = ind.flatten () आप जो चाहते हैं वह प्राप्त कर सकते हैं:
a = X [: , 0] ans = [एनपी.ओन्स (लेन (आई)) * एक [0] -ए [i] I के लिए में] इंडस्ट्रीज़ की अपनी मूल परिभाषा के साथ आपको इसके बजाय i [0] का उपयोग करना चाहिए।
संपादित करें: इसमें सुधार किया जा सकता है (जैसा कि @जैम द्वारा सुझाया गया है): < पूर्व> ans = [एक [0] - एक [i] के लिए I में]
Comments
Post a Comment