2013-06-25 4 views
1

Я использую genfromtxt для чтения в массиве из текстового файла, и мне нужно разбить этот массив пополам на их вычисление и перекомпилировать. Однако я борюсь с рекомбинацией двух массивов. Вот мой код:Объединение двух массивов в numpy,

X2WIN_IMAGE = np.genfromtxt('means.txt').T[1] 
X2WINa = X2WIN_IMAGE[0:31] 
z = np.mean(X2WINa) 
X2WINa = X2WINa-z 
X2WINb = X2WIN_IMAGE[31:63] 
ww = np.mean(X2WINb) 
X2WINb = X2WINb-ww 
X2WIN = str(X2WINa)+str(X2WINb) 
print X2WIN 

Как я идти о рекомбинировать X2WINa и X2WINb в одном массиве? Я просто хочу один массив с 62 компонентами

+0

Unrelated на вопрос: Я хотел бы предложить, что вы читали [PEP 8] (http://www.python.org/dev/peps/pep-0008/): это стиль руководство, которое будет сделайте свой код более понятным для себя и для других. – EOL

ответ

1

И еще один с помощью numpy.r_:

X2WINc = np.r_[X2WINa,X2WINb] 

например:

>>> import numpy as np 
>>> np.r_[np.arange(10),np.arange(10)] 
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 

Там также np.c_ в стек колонка:

>>> np.c_[np.arange(10),np.arange(10)] 
array([[0, 0], 
     [1, 1], 
     [2, 2], 
     [3, 3], 
     [4, 4], 
     [5, 5], 
     [6, 6], 
     [7, 7], 
     [8, 8], 
     [9, 9]]) 
+1

Если это код гольфа, я выигрываю :-P – mgilson

2

Если вы хотите совместить серию использования np.vstack(), а если использовать столбцы np.hstack(). Пример:

np.hstack((np.arange(10), np.arange(10))) 
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 


np.vstack((np.arange(10), np.arange(10))) 
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 
     [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])