क्या किसी फ़ंक्शन से numpy
मैट्रिक्स बनाना संभव है? इस मामले में विशेष रूप से कार्य दो वैक्टरों का पूर्ण अंतर है: S[i,j] = abs(A[i] - B[j])
। एक न्यूनतम काम कर उदाहरण नियमित अजगर का उपयोग करता है:दो वैक्टरों के अंतर से numpy मैट्रिक्स पॉप्युलेट
import numpy as np
A = np.array([1,3,6])
B = np.array([2,4,6])
S = np.zeros((3,3))
for i,x in enumerate(A):
for j,y in enumerate(B):
S[i,j] = abs(x-y)
देता है:
[[ 1. 3. 5.]
[ 1. 1. 3.]
[ 4. 2. 0.]]
यह एक निर्माण कि तरह दिखता है करने के लिए अच्छा होगा:
def build_matrix(shape, input_function, *args)
जहां मैं एक पारित कर सकते हैं इसके तर्क के साथ इनपुट फ़ंक्शन और numpy के गति लाभ को बनाए रखें।
यह संभव है। आपने क्या प्रयास किया है – Marcin
@ मार्सिन - जैसा कि सवाल में बताया गया है, मैं अभी मैट्रिक्स को पॉप्युलेट करने के लिए एक सादे पुराने पायथन दृष्टिकोण का उपयोग कर रहा हूं। Numpy के दस्तावेज़ों को देखते हुए सुझाव है कि समारोह 'vectorize' का उपयोग किया जा सकता है, लेकिन मैं अभी भी नहीं देखा कि समारोह से पहले मैट्रिक्स कैसे निर्माण करें। यदि आप मुझे सही दिशा में इंगित कर सकते हैं (दस्तावेज़ीकरण के अनुसार) मैं इसकी सराहना करता हूं! – Hooked
सादे पायथन में यह संभव होना चाहिए। आपने अपना build_matrix फ़ंक्शन बनाने का प्रयास क्यों किया है? निश्चित रूप से आपके पास कुछ है, और यह उम्मीद करने के बजाय कहीं भी अटक गया है कि कोई आपके लिए यह सब लिख देगा। – Marcin