2012-06-06 17 views
24

Aşağıdaki MATLAB kodu NumPy kullanılarak nasıl yazılabilir? satırlara AtamaNumPy'de sütunlara atama?

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

kolayca iş gibi görünüyor, ancak başka bir dizinin bir sütununa bir dizi atama örneği bulamadık.

cevap

41

a[:,1] = x[:,0]'u kullanın. Tek bir numpy dizisi olarak x sütununu seçmek için x[:,0] gerekir. Eğer x'i biçimlendirme seçeneğiniz varsa, bunu ilk etapta 2 boyutlu bir dizi değil, sadece düzenli (sıra) bir dizi yapmak daha iyidir:

>>> 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 
İlgili konular