基于python读取.mat文件并取出信息


Posted in Python onDecember 16, 2019

这篇文章主要介绍了基于python读取.mat文件并取出信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

导入所需包

from scipy.io import loadmat

读取.mat文件

随便从下面文件里读取一个:

基于python读取.mat文件并取出信息

m = loadmat('H_BETA.mat') # 读出来的 m 是一个dict(字典)数据结构

读出来的m内容:

m:{'__header__': b'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Mon Aug 5 17:14:09 2019',
 '__version__': '1.0',
 '__globals__': [],
 'H_BETA': array([[ 0.68508148, 0.36764355, 0.73505849, ..., 0.27600164,
     0.67968929, 0.70506438],
    [ 0.74920812, 1.10949748, 0.47506305, ..., 0.32871445,
     0.61247345, 1.06948844],
    [ 0.83311522, 1.06321302, 0.97364609, ..., 0.85837753,
     0.96296771, 1.46095171],
    ...,
    [    nan,     nan,     nan, ...,     nan,
         nan, -9.04648469],
    [    nan,     nan,     nan, ...,     nan,
         nan,     nan],
    [    nan,     nan,     nan, ...,     nan,
In [29]: m.keys()
Out[29]: dict_keys(['__header__', '__version__', '__globals__', 'H_BETA'])

取出.mat里所需信息

.mat 文件里的数据结构是 dict ,所以取值要按照 key:value 的形式:

In [30]: m['H_BETA']
Out[30]:
array([[ 0.68508148, 0.36764355, 0.73505849, ..., 0.27600164,
     0.67968929, 0.70506438],
    [ 0.74920812, 1.10949748, 0.47506305, ..., 0.32871445,
     0.61247345, 1.06948844],
    [ 0.83311522, 1.06321302, 0.97364609, ..., 0.85837753,
     0.96296771, 1.46095171],
    ...,
    [    nan,     nan,     nan, ...,     nan,
        nan, -9.04648469],
    [    nan,     nan,     nan, ...,     nan,
        nan,     nan],
    [    nan,     nan,     nan, ...,     nan,
        nan,     nan]])

In [31]: type(m['H_BETA'])
Out[31]: numpy.ndarray

预处理数据

上面读出来的数据是 ndarray 类型,为了方便数据的展示,我们可以将其转换为,pandas的DataFrame:

In [32]: import pandas as pd
In [33]: df = pd.DataFrame(m['H_BETA'])
In [34]: df.head()
Out[34]:
    1     2     3     4     5     6     7     8     9     10  
 0.685081 0.367644 0.735058 0.085046 0.104332 0.560731 0.350219 0.758185 0.303823 0.114022 0.452877 
 0.749208 1.109497 0.475063 0.896100 1.117772 0.611356 0.662669 0.603077 0.863930 0.756870 0.725808 
 0.833115 1.063213 0.973646 0.935061 0.631670 0.916800 0.662993 0.543231 0.671558 1.027954 0.526402 
 0.488906 0.932741 0.956622 0.573116 0.893764 0.987304 0.380807 1.211157 0.550213 0.898408 1.153289 
 0.440694 0.503209 0.509693 0.477054 0.344717 -0.054662 1.124213 0.344906 0.612898 0.217625 -0.129715 

[5 rows x 2111 columns]

如此,数据就比较规整了,是保存成文件,还是做其他处理,就by yourself啦!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
pycham查看程序执行的时间方法
Nov 29 Python
python实现矩阵打印
Mar 02 Python
创建Django项目图文实例详解
Jun 06 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
Django项目在pycharm新建的步骤方法
Mar 02 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 Python
python基于plotly实现画饼状图代码实例
Dec 16 #Python
python 实现让字典的value 成为列表
Dec 16 #Python
python 列表、字典和集合的添加和删除操作
Dec 16 #Python
python实现字典嵌套列表取值
Dec 16 #Python
python绘制彩虹图
Dec 16 #Python
python 字典套字典或列表的示例
Dec 16 #Python
python绘制雪景图
Dec 16 #Python
You might like
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
跟老齐学Python之做一个小游戏
2014/09/28 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
Linux下python3.7.0安装教程
2018/07/30 Python
python Tkinter版学生管理系统
2019/02/20 Python
Python API自动化框架总结
2019/11/12 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
一道输出判断型Java面试题
2014/10/01 面试题
毕业生个人的求职信范文
2013/12/03 职场文书
就业自荐信
2013/12/04 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
购房个人委托书范本
2014/10/11 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书