1. 程式人生 > 程式設計 >基於python讀取.mat檔案並取出資訊

基於python讀取.mat檔案並取出資訊

這篇文章主要介紹了基於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啦!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。