如果我有两个numpy 1D数组,例如
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 zip函数返回Numpy数组?
答案 0 :(得分:12)
只需使用
x1, x2, x3 = np.vstack([x,y]).T
答案 1 :(得分:1)
使用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])