【发布时间】:2013-09-02 22:28:56
【问题描述】:
我有一段代码正在从 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);
在本例中,nb 为 5,atbvec 的长度为 4806。因此,最后一行添加了四个零。
如何在 python 中添加额外的零来创建二维数组?我会让长度为 4806 的一维数组 atbvec 和 nb 等于五(我想要 nb 列)。
感谢您的任何建议,我希望这是有道理的。
编辑
dim=len(atbvec)/int(nb)
atbvec=np.array(atbvec)
atbvec=np.copy(atbvec)
atb_mat=atbvec.resize((dim,nb)
这是返回None。
【问题讨论】:
标签: python arrays matlab numpy reshape