它更容易理解
np.vstack,
np.hstack并且
np.dstack*通过看做
.shape输出数组的属性。
使用两个示例数组:
print(a.shape, b.shape)# (3, 2) (3, 2)
np.vstack
沿第一维连接…
(6, 2)print(np.vstack((a, b)).shape)
np.hstack
沿第二维连接…
(3, 4)print(np.hstack((a, b)).shape)
并
np.dstack
沿第三维连接。
(3, 2, 2)print(np.dstack((a, b)).shape)
由于
a和
b都是二维的,因此
np.dstack通过插入大小为1的第三个维度来展开它们。这等效于使用
np.newaxis(或可选地
None)像这样在第三个维度中对它们进行索引:
print(a[:, :, np.newaxis].shape)# (3, 2, 1)
如果
c = np.dstack((a, b)),则
c[:, :, 0] == a和
c[:, :, 1] == b。
您可以使用
np.concatenate以下命令更明确地执行相同的 *** 作:
print(np.concatenate((a[..., None], b[..., None]), axis=2).shape)# (3, 2, 2)
*使用模块将模块的全部内容导入到全局名称空间
import *被认为是不好的做法,原因有几个。惯用的方法是
import numpy as np。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)