2012-06-06 15 views
24

निम्नलिखित MATLAB कोड NumPy का उपयोग करके कैसे लिखा जा सकता है?NumPy में कॉलम को असाइन करना?

A = zeros(5, 100); 
x = ones(5,1); 
A(:,1) = x; 

पंक्तियों को नियत आसानी से काम करने लगता है, लेकिन मैं एक और सरणी के एक स्तंभ के लिए एक सरणी बताए का एक उदाहरण नहीं मिल सका।

उत्तर

41

a[:,1] = x[:,0] का उपयोग करें। एक्स को एक एकल numpy सरणी के रूप में चुनने के लिए आपको x[:,0] की आवश्यकता है। यदि आपके पास एक्स को प्रारूपित करने का विकल्प है, तो इसे पहले स्थान पर 2-आयामी सरणी नहीं बनाना बेहतर है, लेकिन केवल एक नियमित (पंक्ति) सरणी:

>>> a 
array([[ 0., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.], 
     [ 0., 0., 0.]]) 
>>> x = numpy.ones(5) 
>>> x 
array([ 1., 1., 1., 1., 1.]) 
>>> a[:,1] = x 
>>> a 
array([[ 0., 1., 0.], 
     [ 0., 1., 0.], 
     [ 0., 1., 0.], 
     [ 0., 1., 0.], 
     [ 0., 1., 0.]]) 
6
>>> A = np.zeros((5,100)) 
>>> x = np.ones((5,1)) 
>>> A[:,:1] = x 
संबंधित मुद्दे