基于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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python内置数据类型详解
Aug 18 Python
python根据文件大小打log日志
Oct 09 Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
python tkinter图形界面代码统计工具
Sep 18 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
在python shell中运行python文件的实现
Dec 21 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
php加密解密字符串示例
2016/10/13 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
javascript Object与Function使用
2010/01/11 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
Python and、or以及and-or语法总结
2015/04/14 Python
Python Socket编程详细介绍
2017/03/23 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
职业生涯规划书前言
2014/04/15 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
寒假生活随笔
2015/08/15 职场文书
导游词之崇武古城
2019/10/07 职场文书