繁体   English   中英

如何将Matlab矩阵转换为python数组

[英]How do I convert a Matlab matrix to a python array

我有一个100x200的输入和一个1x100的目标矩阵,可用于运行gridsearch并在python中创建分类器。 但是,我得到的错误是我的目标数据训练集不是数组。 我试过了:

target=np.asarray(matTarget)

其中matTarget只是我使用scipy.io.loadmat从Matlab导入的目标。

我的确切错误是

len() of unsized object

当我尝试target.size时,我也会得到一个空白的大小。

如果我不执行数组转换,那么我得到

Expected array-like (array or non string sequence) got {'_header_': b'Matlab matfile ... Array([[1],[1]...)}

我仍然在Matlab中拥有原始矩阵,也尝试使用np.array而不是asarray。

如果我print(matTarget.keys())然后得到(' header ',' version ',' globals ','y_train'])

y_train是Mat文件本身的名称

根据scipy.io.loadmat的文档,它返回一个字典,其中的值是所包含的矩阵。

返回: mat_dict:dict

以变​​量名作为键,并以加载的矩阵作为值的字典。

因此,在将其与numpy结合使用之前,需要通过矩阵名称选择矩阵:

matrix = matTarget['name of matrix']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM