.mat与numpy格式的区别

.mat文件格式是Matlab的标准输出格式,可以用sklearn进行处理:

from scipy import io as sio
sio.savemat(file, dict_data)
data = sio.loadmat(file)

但是,如果将一个numpy数组先保存到.mat文件中,然后再重新加载,数据格式会发生变化。

在Matlab中所有的数据都是以向量/矩阵形式存储,一个长度为N的numpy数组保存为.mat文件时会被转换为(1, N)的Matlab矩阵。重新加载之后,得到的是(1, N)的numpy数组。

另外,对于numpy的str_类型,转换为.mat后会以统一的长度存储,在Matlab中会被正确处理,但是转换回numpy数组之后所有的字符串长度相同,短的字符串会在末尾用空格对齐。

你可能感兴趣的:(.mat与numpy格式的区别)