我有一段代码,我正在将其从 MATLAB 转换为 python。它还没有以非常 Pythonic 的方式编写,但我会在稍后阶段对其进行调整。
MATLAB 脚本具有vec2mat
来自通信系统工具箱的功能。(参见http://www.mathworks.co.uk/help/comm/ref/vec2mat.html)这通过指定您希望转换的向量和您希望拥有的列数将向量更改为矩阵来工作. mat = vec2mat(vec,matcol)
.
我通常只会使用numpy.reshape
. 但是,如果向量中没有足够的值来完全填充最后一行,则 vec2mat 会在最后一行添加零。
我需要的填充将根据我输入的 csv 文件而有所不同。
atbmat = vec2mat(atbvec,nb);
在此示例中,casenb
为 5,长度atbvec
为 4806。因此,底部行添加了四个零。
我将如何在 python 中添加额外的零来创建二维数组?atbvec
我将拥有长度为 4806 且nb
等于 5的一维数组 (我想要 nb 列)。
感谢您的任何建议,我希望这是有道理的。
编辑
dim=len(atbvec)/int(nb)
atbvec=np.array(atbvec)
atbvec=np.copy(atbvec)
atb_mat=atbvec.resize((dim,nb)
这是回归None
。