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

作者:ZhuGaochao 时间:2021-10-24 12:06:26 

这篇文章主要介绍了基于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啦!

来源:https://www.cnblogs.com/bigtreei/p/11307872.html

标签:python,读取,mat,文件,取出,信息
0
投稿

猜你喜欢

  • ie6下实现position-fixed效果

    2009-06-05 18:47:00
  • Python中DataFrame判断两列数据是否相等的方法

    2023-12-09 10:17:37
  • 如何修改MySQL密码(方法大总结)

    2009-11-18 11:07:00
  • 在go文件服务器加入http.StripPrefix的用途介绍

    2023-06-26 07:19:07
  • 轻松掌握怎样从Windows命令行启动MySQL

    2009-02-23 17:18:00
  • ASP获取网址或当前地址代码

    2008-04-07 20:19:00
  • 经验:解决DB2中出现的SQL1032N错误现象

    2009-09-02 14:10:00
  • 利用python调用摄像头的实例分析

    2022-01-03 22:10:14
  • 怎么样才能让层显示在FLASH之上呢

    2008-03-05 13:32:00
  • Python面向对象的三大特性封装、继承、多态

    2023-12-11 05:15:52
  • react redux及redux持久化示例详解

    2023-07-17 07:18:53
  • 网页图片按钮的生成与美化

    2008-12-12 13:03:00
  • MySQL数据库中与 ALTER TABLE 有关的问题

    2009-01-14 11:57:00
  • python导入坐标点的具体操作

    2023-02-24 19:59:46
  • asp.net“服务器应用程序不可用” 解决方法

    2023-06-29 10:05:30
  • ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

    2023-11-23 10:16:36
  • sqlserver 索引的一些总结

    2012-08-21 11:03:31
  • python生成随机验证码(中文验证码)示例

    2022-07-28 05:41:58
  • Win7 x64 IIS运行ASP+Access故障完美解决方法(转)

    2012-03-27 18:30:35
  • 简单分析python的类变量、实例变量

    2022-12-20 20:39:56
  • asp之家 网络编程 m.aspxhome.com