从MATLAB导入:将numpy数组数组转换为矩阵?

时间:2015-07-02 10:46:55

标签: python matlab numpy

所以我建立了一个分类器。我在MATLAB .mat文件中收到了图像功能。在Python中导入时,我发现arr.shape返回(43000,),arr[1].shape返回(8421,)。 arr中的所有元素都是同一形状的numpy数组。

我想把这个数组数组转换成一个形状矩阵(43000,8421)。换句话说,将所有数组堆叠在一起。我已经尝试了numpy的vstackconcatenate和其他一些人,但没有任何运气。

有没有人有任何建议?我已经问过其他人了,但他们无法在没有numpy自动创建矩阵的情况下重现问题......所以我希望这里有人知道如何处理这些.mat文件结构。< / p>

编辑:到目前为止我已经尝试了

import scipy.io
import numpy as np
import sys

mat = scipy.io.loadmat('D:\Thesis backups\Amsterdam/features.mat')

垂直堆叠和连接,两者都形成(43000,)以及:

np.vstack(mat['descrs'][0])

np.concatenate(mat['descrs'][0])

我尝试了很多我不记得的事情......抱歉。我删除了所有不成功的代码。我尝试过的一件事就是创建一个零相同形状的numpy数组。并循环遍历所有内容以使用相同的值填充它。但是,我也没有做到这一点。

0 个答案:

没有答案