1

我使用 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

4 回答 4

2
 X2WINc = np.append(X2WINa, X2WINb)
于 2013-06-25T12:40:01.800 回答
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]])
于 2013-06-25T12:43:33.920 回答
1
combined_array = np.concatenate((X2WINa, X2Winb))
于 2013-06-25T12:38:52.913 回答
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]])
于 2013-06-25T12:43:12.763 回答