基於python讀取.mat檔案並取出資訊
阿新 • • 發佈:2020-01-09
這篇文章主要介紹了基於python讀取.mat檔案並取出資訊,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
匯入所需包
from scipy.io import loadmat
讀取.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,-9.04648469],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,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啦!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。