Python 合并两个2D Numpy数组,同时保持行顺序

Python 合并两个2D Numpy数组,同时保持行顺序,python,arrays,numpy,Python,Arrays,Numpy,我有下面的2D numpy数组,其中包含X列和Y列 [(476301.98163511883, 6178749.129456658) (477927.0510582989, 6178741.4760845825) (477918.79328165855, 6177112.834659822)] [(476301.98163511883, 6175045.129456658) (477927.0510582989, 6175037.4760845825) (477918.7932816

我有下面的2D numpy数组,其中包含X列和Y列

[(476301.98163511883, 6178749.129456658)
 (477927.0510582989, 6178741.4760845825)
 (477918.79328165855, 6177112.834659822)]


[(476301.98163511883, 6175045.129456658)
 (477927.0510582989, 6175037.4760845825)
 (477918.79328165855, 6173408.834659822)]
我试图在保留行顺序的同时将两者合并在一起

结果如下所示:

[(476301.98163511883, 6178749.129456658), (476301.98163511883, 6175045.129456658)
 (477927.0510582989, 6178741.4760845825),  (477927.0510582989, 6175037.4760845825)
 (477918.79328165855, 6177112.834659822),  (477918.79328165855, 6173408.834659822)]
我现在用这样的发电机工作,但我真的觉得这不是正确的方法

    def generator_array():
        for value in both_arrays:
            yield value

    x = generator_array()

    feature_list = []

    try:
        while x:
            pt1 = next(x)
            pt2 = next(x)
            feature_list.append((pt1[0], pt1[1], pt2[0], pt2[1]))
    except StopIteration:
        pass

谢谢

我不太确定你在问什么,因为你的代码没有产生你所说的想要的结果,但是会:

np.hstack((a,b))
工作,其中a和b是您的两个阵列?

可以工作:

a=np.array([(476301.98163511883, 6178749.129456658), (477927.0510582989, 6178741.4760845825), (477918.79328165855, 6177112.834659822)])
b=np.array([(476301.98163511883, 6175045.129456658), (477927.0510582989, 6175037.4760845825), (477918.79328165855, 6173408.834659822)])

np.concatenate((a,b),axis=1)

array([[  476301.98163512,  6178749.12945666,   476301.98163512,
         6175045.12945666],
       [  477927.0510583 ,  6178741.47608458,   477927.0510583 ,
         6175037.47608458],
       [  477918.79328166,  6177112.83465982,   477918.79328166,
         6173408.83465982]])

我可以通过以下方法使它工作

import numpy.lib.recfunctions as rfn

merged_array = rfn.merge_arrays((array1,array2), usemask = False)

np.hstacka,b.reforma6,2将匹配它们的精确输出。对,该:已编辑。我认为hstack和你的concatenate方法基本上是等价的。@atomh331s注意:我的数据不是用逗号分隔的。有没有简单的方法用逗号分隔元组?当我尝试这段代码时,它只是将第二个数组附加到第一个数组的末尾。@user765015您能按实际格式发布numpy数组吗?理想情况下,这样我们可以剪切“n”粘贴?@atomh331s我想,这是我代码的第一部分。我知道这是一个结构化数组记录数组,其中第一个元素是X,第二个元素是Y。我知道我可以通过北向数组['Y']+=距离来访问particluat列。这可能是它不适用于我的原因吗?