合并2个数组垂直于元组Numpy

Ste*_*ers 16 python numpy

这可能很容易,但我似乎无法自己解决这个问题.我有两个numpy数组,一个代表x值,另一个代表相应的y值:

x = np.array([-1, 0, 1, 2])
y = np.array([-2, -1, 0, 1])
Run Code Online (Sandbox Code Playgroud)

有没有办法将这两个数组合并在一起(因此更容易读取每个x值的y值),就像一个tupple:

array = [(-1, -2), (0, -1), (1, 0), (2, 1)]
Run Code Online (Sandbox Code Playgroud)

提前致谢!

hpa*_*ulj 32

In [469]: x = np.array([-1, 0, 1, 2])
In [470]: y = np.array([-2, -1, 0, 1])
Run Code Online (Sandbox Code Playgroud)

将它们加入到2d数组中:

In [471]: np.array((x,y))
Out[471]: 
array([[-1,  0,  1,  2],
       [-2, -1,  0,  1]])
Run Code Online (Sandbox Code Playgroud)

转置该数组:

In [472]: np.array((x,y)).T
Out[472]: 
array([[-1, -2],
       [ 0, -1],
       [ 1,  0],
       [ 2,  1]])
Run Code Online (Sandbox Code Playgroud)

或使用标准的Python zip - 这将数组视为列表

In [474]: zip(x,y)   # list(zip in py3
Out[474]: [(-1, -2), (0, -1), (1, 0), (2, 1)]
Run Code Online (Sandbox Code Playgroud)

  • 这些结果不是元组数据类型。 (3认同)
  • 对于 Python 3,zip 返回迭代器而不是列表。可以使用“list(zip(x,y))”将其转换为列表 (2认同)