首页 > 编程语言 > 详细

python 读取.mat文件

时间:2019-08-06 11:49:27      阅读:127      评论:0      收藏:0      [点我收藏+]

导入所需包

from scipy.io import loadmat

读取.mat文件

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

技术分享图片

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

读出来的m内容:

m:
{__header__: bMATLAB 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]: 0 1 2 3 4 5 6 7 8 9 10 0 0.685081 0.367644 0.735058 0.085046 0.104332 0.560731 0.350219 0.758185 0.303823 0.114022 0.452877 1 0.749208 1.109497 0.475063 0.896100 1.117772 0.611356 0.662669 0.603077 0.863930 0.756870 0.725808 2 0.833115 1.063213 0.973646 0.935061 0.631670 0.916800 0.662993 0.543231 0.671558 1.027954 0.526402 3 0.488906 0.932741 0.956622 0.573116 0.893764 0.987304 0.380807 1.211157 0.550213 0.898408 1.153289 4 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 读取.mat文件

原文:https://www.cnblogs.com/bigtreei/p/11307872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!