所以我建立了一个分类器。我在MATLAB .mat文件中收到了图像功能。在Python中导入时,我发现arr.shape
返回(43000,),arr[1].shape
返回(8421,)。 arr中的所有元素都是同一形状的numpy数组。
我想把这个数组数组转换成一个形状矩阵(43000,8421)。换句话说,将所有数组堆叠在一起。我已经尝试了numpy的vstack
,concatenate
和其他一些人,但没有任何运气。
有没有人有任何建议?我已经问过其他人了,但他们无法在没有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数组。并循环遍历所有内容以使用相同的值填充它。但是,我也没有做到这一点。