這篇文章主要介紹了python如何讀取.mat文件并取出信息,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
導(dǎo)入所需包
from scipy.io import loadmat
讀取.mat文件
隨便從下面文件里讀取一個(gè):
m = loadmat('H_BETA.mat') # 讀出來的 m 是一個(gè)dict(字典)數(shù)據(jù)結(jié)構(gòu)
讀出來的m內(nèi)容:
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 文件里的數(shù)據(jù)結(jié)構(gòu)是 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
預(yù)處理數(shù)據(jù)
上面讀出來的數(shù)據(jù)是 ndarray 類型,為了方便數(shù)據(jù)的展示,我們可以將其轉(zhuǎn)換為,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]
如此,數(shù)據(jù)就比較規(guī)整了,是保存成文件,還是做其他處理,就by yourself啦!
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python如何讀取.mat文件并取出信息”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!