2016-04-11 20 views
2

Ben Matlab/Octave kullanıcısıyım. Numpy belgelerine göre, array, matrix yerine çok daha kullanışlıdır. Sürekli yeniden şekillendirmeden, sıra 1 dizileri ile başa çıkmak için uygun bir yolu var mı?Numpy rank 1 diziler

Örnek:

data = np.loadtxt("ex1data1.txt", usecols=(0,1), delimiter=',',dtype=None) 
X = data[:, 0] 
y = data[:, 1] 
m = len(y) 

print X.shape, y.shape 
>>> (97L,) (97L,) 

I X şekillendirme olmadan yavaş np.c_ haricinde kullanılarak X concatenate, vstack, append yeni sütun eklemek olamaz:

X = np.concatenate((np.ones((m, 1)), X), axis = 1) 
>>> ValueError: all the input arrays must have same number of dimensions 

x - y y şekillendirme olmadan yapılabilir değil np.reshape(y, (-1, 1))

+0

mı? – MSeifert

+0

Genelde sıra 1 dizileri hakkında düşünüyorum. – NeuroMonk

+0

Her zaman np.arange (10) .reshape (2,5) 'gibi ifadeler kullanıyorum. – hpaulj

cevap

2

np.reshape(y, (-1, 1)) için basit bir eşdeğer 012'dır. np.newaxis, None için bir diğer ad olduğundan, y[:, None] da çalışır. Ayrıca np.expand_dims(y, axis=1)'dan bahsetmeye değer. birleştirme konusunda veya genel olarak rütbe 1 diziler hakkında bu soru