2 回答
TA贡献1111条经验 获得超0个赞
您的数据集很可能是一维的,而不是二维的。您的代码适用于 2D 就好了:
import numpy as np
Y = np.random.rand(3, 4)
print(Y)
Y = np.reshape(Y, (Y.shape[0], Y.shape[1], 1))
print(Y)
产量
[[0.94716449 0.46469876 0.74290887 0.11051443]
[0.31187829 0.26831897 0.37580931 0.23038081]
[0.46578756 0.81175453 0.98348175 0.02975313]]
[[[0.94716449]
[0.46469876]
[0.74290887]
[0.11051443]]
[[0.31187829]
[0.26831897]
[0.37580931]
[0.23038081]]
[[0.46578756]
[0.81175453]
[0.98348175]
[0.02975313]]]
TA贡献1806条经验 获得超5个赞
该reshape()方法可以直接调用numpy.array,即:
Y = np.random.rand(3, 4)
Y.reshape((Y.shape[0], Y.shape[1], 1))
输出:
array([[[0.03398233],
[0.31845358],
[0.26508794],
[0.4154345 ]],
[[0.80924495],
[0.86116906],
[0.24186532],
[0.64169452]],
[[0.61352962],
[0.95214732],
[0.26994666],
[0.99091755]]])
如果你的Y数组是一维的,你仍然可以像这样把它变成 3D:
Y.reshape((1, 1, -1))
输出:
array([[[0.52130672]],
[[0.25807463]],
[[0.81201524]],
[[0.08846268]],
[[0.20831986]],
[[0.823997 ]],
[[0.483052 ]],
[[0.15120415]],
[[0.19601734]],
[[0.55933897]],
[[0.9112403 ]],
[[0.1048653 ]]])
添加回答
举报