简体   繁体   English

在numpy中合并两个数组,

[英]combining two arrays in numpy,

I use genfromtxt to read in an array from a text file and i need to split this array in half do a calculation on them and recombine them. 我使用genfromtxt从文本文件中读取数组,我需要将此数组拆分成两半,对它们进行计算并重新组合它们。 However i am struggling with recombining the two arrays. 但是我在努力重组两个数组。 here is my code: 这是我的代码:

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

How do i go about recombining X2WINa and X2WINb in one array? 如何将X2WINa和X2WINb重组为一个阵列? I just want one array with 62 components 我只想要一个包含62个组件的数组

 X2WINc = np.append(X2WINa, X2WINb)

if you want to combine row-wise use np.vstack() , and if column-wise use np.hstack() . 如果要组合行方式,请使用np.vstack() ;如果要组合列方式,请使用np.hstack() Example: 例:

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]])
combined_array = np.concatenate((X2WINa, X2Winb))

And another one using numpy.r_ : 另一个使用numpy.r_

X2WINc = np.r_[X2WINa,X2WINb]

eg: 例如:

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

There's also np.c_ to column stack: 还有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]])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM