我有两个numpy数组:
x = np.array([-1, 0, 1, 2]) y = np.array([-2, -1, 0, 1])
有没有一种方法可以像元组一样将这些数组合并在一起:
array = [(-1, -2), (0, -1), (1, 0), (2, 1)]
nkkqxpd91#
In [469]: x = np.array([-1, 0, 1, 2]) In [470]: y = np.array([-2, -1, 0, 1])
将它们加入2D数组:
In [471]: np.array((x,y)) Out[471]: array([[-1, 0, 1, 2], [-2, -1, 0, 1]])
转置数组:
In [472]: np.array((x,y)).T Out[472]: array([[-1, -2], [ 0, -1], [ 1, 0], [ 2, 1]])
或者使用标准的Python zip -这将数组视为列表
In [474]: zip(x,y) # list(zip in py3 Out[474]: [(-1, -2), (0, -1), (1, 0), (2, 1)]
hfsqlsce2#
沿着第二维度的级联可以经由np.c_[]来完成。
np.c_[]
x = np.array([-1, 0, 1, 2]) y = np.array([-2, -1, 0, 1]) xy = np.c_[x, y] # array([[-1, -2], # [ 0, -1], # [ 1, 0], # [ 2, 1]])
如果你想要一个元组数组,有记录数组:
xy = np.rec.fromarrays([x, y]) # rec.array([(-1, -2), ( 0, -1), ( 1, 0), ( 2, 1)], dtype=[('f0', '<i4'), ('f1', '<i4')]) # convert into a list xy.tolist() # [(-1, -2), (0, -1), (1, 0), (2, 1)]
2条答案
按热度按时间nkkqxpd91#
将它们加入2D数组:
转置数组:
或者使用标准的Python zip -这将数组视为列表
hfsqlsce2#
沿着第二维度的级联可以经由
np.c_[]
来完成。如果你想要一个元组数组,有记录数组: