python读取.mat文件的数据及实例代码
首先导入scipy的包fromscipy.ioimportloadmat
然后读取m=loadmat("F:/__identity/activity/论文/data/D001.mat")
注意这里m是一个dict数据结构
>>>m
{'__header__':b'MATLAB5.0MAT-file,Platform:PCWIN,Createdon:MonAug1522:16:432011','__globals__':[],'labels':array([[1],
[3],
[4],
...,
[4],
[3],
[4]],dtype=uint8),'data':array([[1.,0.35,0.265,...,0.0995,0.0485,0.07],
[2.,0.53,0.42,...,0.2565,0.1415,0.21],
[1.,0.44,0.365,...,0.2155,0.114,0.155],
...,
[1.,0.59,0.44,...,0.439,0.2145,0.2605],
[1.,0.6,0.475,...,0.5255,0.2875,0.308],
[2.,0.625,0.485,...,0.531,0.261,0.296]]),'__version__':'1.0'}
>>>m.keys()
dict_keys(['__header__','__globals__','labels','data','__version__'])
>>>m["labels"]
array([[1],
[3],
[4],
...,
[4],
[3],
[4]],dtype=uint8)
>>>m["data"]
array([[1.,0.35,0.265,...,0.0995,0.0485,0.07],
[2.,0.53,0.42,...,0.2565,0.1415,0.21],
[1.,0.44,0.365,...,0.2155,0.114,0.155],
...,
[1.,0.59,0.44,...,0.439,0.2145,0.2605],
[1.,0.6,0.475,...,0.5255,0.2875,0.308],
[2.,0.625,0.485,...,0.531,0.261,0.296]])
有点不太懂这个“uint8”
>>>m["labels"][0]
array([1],dtype=uint8)
>>>m["labels"][0][0]
1
>>>m["labels"][0][0]+1
2
>>>m["labels"][0].as_type("int")
Traceback(mostrecentcalllast):
File"",line1,in
AttributeError:'numpy.ndarray'objecthasnoattribute'as_type'#注意时astype不是as_type
>>>m["labels"][0].dtype
dtype('uint8')
>>>m["labels"][0].astype("int")
array([1])
这个数据类型真是醉了:
>>>type(m["labels"][0][0]+1)
如果要把它变成dataframe,导入pandas后
>>>df=pd.DataFrame(m["data"]) >>>df.head() 01234567 01.00.3500.2650.0900.22550.09950.04850.070 12.00.5300.4200.1350.67700.25650.14150.210 21.00.4400.3650.1250.51600.21550.11400.155 33.00.3300.2550.0800.20500.08950.03950.055 43.00.4250.3000.0950.35150.14100.07750.120
总结
以上所述是小编给大家介绍的python读取.mat文件的数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!