问题描述
您能解释一下 newshape 在 reshape 中的作用以及 newshape=(n_channels,-1)
是什么意思吗?我想使用下面的代码来重塑我的信号矩阵,但我不明白最后一部分
np.reshape(np.transpose(signal,axes=[1,2,0]),newshape=(n_channel,-1))
解决方法
比方说,您想将具有 numpy
维的 10*2
数组重塑为 5*4
。你需要
a = np.zeros((10,2)) # Generates 10*2 zero matrix
np.reshape(a,newshape=(5,4))
这给出了这样的输出
array([[0.,0.,0.],[0.,0.]])
同样的输出可以通过
np.reshape(a,-1))
因为第二个维度的值是从数组的长度和剩余维度推断出来的。这里需要 4,但如果你想要 2*10
数组而不是你可以使用 newshape=(2,-1)
,这里的第二个值将是 10。
参考官方 numpy.reshape
文档。
https://numpy.org/doc/stable/reference/generated/numpy.reshape.html