例如,如果我有两个 numpy 一维数组
x=np.array([1,2,3])
y=np.array([11,22,33])
如何将这些压缩到 Numpy 2D 坐标数组中?如果我做:
x1,x2,x3=zip(*(x,y))
结果是列表类型,而不是 Numpy 数组。所以我有
x1=np.asarray(x1)
等等..有没有更简单的方法,我不需要调用np.asarray
每个坐标?是否有返回 Numpy 数组的 Numpy zip 函数?
例如,如果我有两个 numpy 一维数组
x=np.array([1,2,3])
y=np.array([11,22,33])
如何将这些压缩到 Numpy 2D 坐标数组中?如果我做:
x1,x2,x3=zip(*(x,y))
结果是列表类型,而不是 Numpy 数组。所以我有
x1=np.asarray(x1)
等等..有没有更简单的方法,我不需要调用np.asarray
每个坐标?是否有返回 Numpy 数组的 Numpy zip 函数?
只需使用
x1, x2, x3 = np.vstack([x,y]).T
使用深度堆叠输入数组numpy.dstack()
并使用摆脱单维numpy.squeeze()
,然后将结果分配给坐标变量x1
, x2
,x3
如下所示:
In [84]: x1, x2, x3 = np.squeeze(np.dstack((x,y)))
# outputs
In [85]: x1
Out[85]: array([ 1, 11])
In [86]: x2
Out[86]: array([ 2, 22])
In [87]: x3
Out[87]: array([ 3, 33])