2012-11-15 5 views
5

देशी अजगर कोड इस तरह हैं:किसी सरणी में किसी भी दो तत्व जोड़ने और मैट्रिक्स का उत्पादन करने के लिए numpy का उपयोग कैसे करें?

>>> a=[1,2,3,4,5,6] 
>>> [[i+j for i in a] for j in a] 
[[2, 3, 4, 5, 6, 7], 
[3, 4, 5, 6, 7, 8], 
[4, 5, 6, 7, 8, 9], 
[5, 6, 7, 8, 9, 10], 
[6, 7, 8, 9, 10, 11], 
[7, 8, 9, 10, 11, 12]] 

हालांकि, मैं के रूप में सरणी बहुत बड़ी है numpy उपयोग करने के लिए यह काम करना है। क्या किसी के पास numpy में एक ही काम करने के बारे में विचार है?

उत्तर

9

कई NumPy द्विआधारी ऑपरेटरों एक outer विधि है जो एक गुणा (या इस मामले में, इसके अलावा) के समकक्ष बनाने के लिए इस्तेमाल किया जा सकता है तालिका:

In [260]: import numpy as np 
In [255]: a = np.arange(1,7) 

In [256]: a 
Out[256]: array([1, 2, 3, 4, 5, 6]) 

In [259]: np.add.outer(a,a) 
Out[259]: 
array([[ 2, 3, 4, 5, 6, 7], 
     [ 3, 4, 5, 6, 7, 8], 
     [ 4, 5, 6, 7, 8, 9], 
     [ 5, 6, 7, 8, 9, 10], 
     [ 6, 7, 8, 9, 10, 11], 
     [ 7, 8, 9, 10, 11, 12]]) 
संबंधित मुद्दे