[英]Adding a column to a 2D list
我有一个二维数组列表
array( [ 988, 389],
[ 986, 389],
[ 985, 388],
[ 977, 388],
[ 976, 387]], dtype=int32)
还有另一个清单
array( [ 149.68299837],
[ 149.25481567],
[ 150.029997 ],
[ 148.63714206],
[ 149.48244044]])
我试图使用连接这两个列表
trail = list(map(list,zip(two_d_array,concat)))
trail = np.vstack(trail)
这给我
array([array([988, 389], dtype=int32), array([ 149.68299837])],
[array([986, 389], dtype=int32), array([ 149.25481567])],
[array([985, 388], dtype=int32), array([ 150.029997])],
[array([977, 388], dtype=int32), array([ 148.63714206])],
[array([976, 387], dtype=int32), array([ 149.48244044])]], dtype=object)
我如何删除所有数组和dtype并仅显示数字
[ 988, 389,149.68299837],
[ 986, 389,149.25481567],
[ 985, 388, 150.029997],
[ 977, 388,148.63714206],
[ 976, 387,149.48244044]
要对两个数组进行复制n粘贴,我必须在开始时使用[
结果是2个2d数组
In [165]: twod.shape
Out[165]: (5, 2)
In [166]: oned.shape
Out[166]: (5, 1)
一个简单的串联作品
In [164]: np.concatenate((twod, oned),axis=1)
Out[164]:
array([[ 988. , 389. , 149.68299837],
[ 986. , 389. , 149.25481567],
[ 985. , 388. , 150.029997 ],
[ 977. , 388. , 148.63714206],
[ 976. , 387. , 149.48244044]])
请注意,所有内容现在都处于浮动状态。
您的列表列表calc生成的列表如下:
[[array([988, 389]), array([ 149.68299837])],
[array([986, 389]), array([ 149.25481567])],
[array([985, 388]), array([ 150.029997])],
....
子列表包含2个不同长度的数组。 用hstack
代替list会产生一个可以vstacked的列表
In [173]: temp = list(map(np.hstack, zip(twod, oned.ravel())))
In [174]: temp
Out[174]:
[array([ 988. , 389. , 149.68299837]),
array([ 986. , 389. , 149.25481567]),
array([ 985. , 388. , 150.029997]),
....
我喜欢np.c_和np.column_stack(@Divakar建议),因为我不太关心计时,但我对它在视觉上如何“看起来”以理解目的更感兴趣...
>>> a = np.arange(10).reshape(5, 2)
>>> b = np.arange(10,15)
>>> c = np.c_[a,b]
>>> a
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
>>> b
array([10, 11, 12, 13, 14])
>>> c
array([[ 0, 1, 10],
[ 2, 3, 11],
[ 4, 5, 12],
[ 6, 7, 13],
[ 8, 9, 14]])
>>> np.column_stack((a,b))
array([[ 0, 1, 10],
[ 2, 3, 11],
[ 4, 5, 12],
[ 6, 7, 13],
[ 8, 9, 14]])
数组a和b很明显。 我只需要记住做np.c_方括号(np.c_ [堆叠这些],当然,按列堆叠对我也是有意义的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.