2013-08-27 4 views
5

यह समस्या है जब मैं नमूना एंट्रॉपी के लिए पायथन कोड लिख रहा हूं।नमूना एन्ट्रॉपी की गणना के लिए तेज़ पायथन कोड की आवश्यकता है

map(max, abs(a[i]-a)) बहुत धीमी है।

क्या कोई अन्य फ़ंक्शन map() से बेहतर प्रदर्शन करता है?

कहाँ a ndarray कि np.array([ [1,2,3,4,5],[2,3,4,5,6],[3,4,5,3,2] ])

+1

क्या 'यहां A' है की तरह लग रहा है? और क्या यह पायथन 2.x या 3.x ('नक्शा()' दोनों में समान नहीं है)? – arshajii

+0

क्या आपने 'आयात गति' की कोशिश की है? गंभीरता से हालांकि, 'ए' कैसा दिखता है और आवश्यक आउटपुट क्या होता है? – inspectorG4dget

+0

'a' a numpy.ndarray' है? (आप यह कर सकते हैं 'प्रकार (ए) ') ... –

उत्तर

6

उपयोग vectorized अधिकतम

>>> map(max, abs(a[2]-a)) 
[3, 4, 0] 
>>> np.abs(a[2] - a).max(axis=1) 
array([3, 4, 0]) 
+0

आपको बहुत बहुत धन्यवाद! –

संबंधित मुद्दे