在numpy中组合两个数组,

时间:2013-06-25 12:37:12

标签: python arrays numpy

我使用genfromtxt从文本文件中读取数组,我需要将这个数组分成两半对它们进行计算并重新组合它们。但是我正在努力重新组合这两个数组。这是我的代码:

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个组件的数组

4 个答案:

答案 0 :(得分:2)

 X2WINc = np.append(X2WINa, X2WINb)

答案 1 :(得分: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]])

答案 2 :(得分:1)

combined_array = np.concatenate((X2WINa, X2Winb))

答案 3 :(得分:1)

另一个使用numpy.r_

X2WINc = np.r_[X2WINa,X2WINb]

e.g:

>>> 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]])