两分钟解决Python读取matlab的.mat数据

Matlab是学术界非常受欢迎的科学计算平台,matlab提供强大的数据计算以及仿真功能。在Matlab中数据集通常保存为.mat格式。那么如果我们想要在Python中加载.mat数据应该怎么办呢?所以今天就给大家分享一个使用python加载.mat数据的方法。我将使用Stanford Cars Dataset数据集作为例子为大家演示使用方法。

数据集

Stanford Cars Dataset数据集是一个关于车辆图像分类的数据集,该数据集保存格式为.mat形式。数据及下载地址为:

https://ai.stanford.edu/~jkrause/cars/car_dataset.html

加载.mat文件

Scipy是一个非常流行的用于科学计算的python库,很自然地,它们有一种方法可以让你读入.mat文件。阅读它们绝对是一件容易的事。您可以在一行代码中完成它:

请添加图片描述
格式化数据

通过loadmat方法加载数据后会返回一个Python字典的数据结构,我们可以查看数据关键字,代码如下:
请添加图片描述
下边是关于数据集描述的文档,从中我们可以查看关于数据及更详细的描述,也可以验证通过Python加载后数据是否正确。
请添加图片描述
从文档中可以看到,annotations变量中包含我们想要的结构数据,包括标签、图像文件名以及图像边界框信息,因此我们只需处理annotations变量并从中提取我们想要的信息。
请添加图片描述
从.mat中提取的数据以numpy.ndarray格式存储,此数组中的项的数据类型是numpy.void。
请添加图片描述
接下来我们通过循环将字典中的annotations变量信息提取出来,并将它们存储在列表中:

请添加图片描述
将数据转换成Pandas Dataframe

现在我们用python加载好matlab数据文件,为方便后续的处理,我们将数据转换为pandas格式。转换过程十分简单,具体代码如下:
请添加图片描述
转换后数据形式如下:
请添加图片描述
点击此处可以加群找管理员领取免费资料

猜你喜欢

转载自blog.csdn.net/m0_67575344/article/details/124203773
今日推荐