最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python讀寫mat文件操作指南(使用scipy.io)

 更新時間:2023年06月25日 16:20:55   作者:天河逐月  
Matlab是一個非常好用的矩陣計算分析軟件,然而隨著深度學習的發(fā)展,Python語言也逐漸成為人們的常用編程語言,這篇文章主要給大家介紹了關(guān)于Python使用scipy.io讀寫mat文件的相關(guān)資料,需要的朋友可以參考下

在matlab中,數(shù)據(jù)可保存為mat文件,使用save和load命令可進行讀寫操作。而在Python中,也可以對mat文件進行讀寫。

一、由matlab向Python傳數(shù)據(jù)(Python讀取mat文件)

第一步:使用matlab創(chuàng)建變量并保存至mat文件

使用matlab分別創(chuàng)建數(shù)、數(shù)組、元胞數(shù)組等類型的變量,然后保存到mat文件中。

clear
path = 'D:\temp\mydata.mat';  % 用于存放mat文件的路徑
n = 12;  % 數(shù)
s = 'Hello';  % 字符串
A = [1,2,3,4,5; 6,7,8,9,0];  % 數(shù)組
C = {'str1','str2','str3'; 'str4','str5','str6'};  % 元胞數(shù)組
save(path, 'n', 's', 'A', 'C');  % 保存上述變量

注意存放mat文件的文件夾必須存在,即要事先創(chuàng)建好,否則會報錯。

保存后,來讀取一下其中的數(shù)據(jù):

可以確定上述變量已保存至mat文件。

第二部,使用Python讀取上述mat文件

使用scipy.io中的loadmat方法對mat文件進行讀取。編輯代碼如下:

from scipy.io import loadmat
 
path = r"D:\temp\mydata.mat"  # mat文件路徑
data = loadmat(path)  # 讀取mat文件
print(data.keys())  # 查看mat文件中包含的變量
 
Out:
dict_keys(['__header__', '__version__', '__globals__', 'A', 'C', 'n', 's'])

可見讀取到的mat文件中包含變量n、s、A、C,與matlab保存的變量一致。

分別讀取這些變量:

from scipy.io import loadmat
 
path = r"D:\temp\mydata.mat"  # mat文件路徑
data = loadmat(path)
n = data['n']  # 數(shù)
s = data['s']  # 字符串
A = data['A']  # 數(shù)組
C = data['C']  # 元胞數(shù)組
 
print(n)
print(s)
print(A)
print(C)

運行后顯示結(jié)果如下:

[[12]]
['Hello']
[[1 2 3 4 5]
 [6 7 8 9 0]]
[[array(['str1'], dtype='<U4') array(['str2'], dtype='<U4')
  array(['str3'], dtype='<U4')]
 [array(['str4'], dtype='<U4') array(['str5'], dtype='<U4')
  array(['str6'], dtype='<U4')]]

與matlab創(chuàng)建的內(nèi)容一致,可見mat文件已被成功讀取。

但注意觀察讀取出來的各個變量的數(shù)據(jù)類型,發(fā)現(xiàn)均為“numpy.ndarray”類型。所以要想使用讀取出來的數(shù)據(jù),需要再次從ndarray中進行讀取。

In:
n0 = n[0][0]  # 讀取單個數(shù)
s0 = s[0]  #讀取字符串
A0 = A[0][2]  # 讀取數(shù)組中第1行第3個元素
C0 = C[0][1][0]  # 讀取元胞數(shù)組中第1行第2個元素
print(n0)
print(s0)
print(A0)
print(C0)
Out:
12
Hello
3
str2

這樣就讀取出了指定的數(shù)據(jù)。

二、由Python向matlab傳數(shù)據(jù)(Python寫入mat文件)

第一步:使用Python創(chuàng)建變量并保存至mat文件

使用Python創(chuàng)建數(shù)、字符串、數(shù)組等類型的變量,然后使用scipy.io中的savemat方法在指定的路徑保存mat文件。

from numpy import array
from scipy.io import savemat
 
# 創(chuàng)建變量
path = r"D:\temp\mydata02.mat"  # 路徑
num = 12  #  數(shù)
str = 'abcde'  # 字符串
list = array([1,2,3,4,5])  # 數(shù)組
 
# 構(gòu)造字典,用于保存變量
data = {}
data.update({'num':num})
data.update({'str':str})
data.update({'list':list})
 
# 保存變量到mat文件
savemat(path, data)

注意,Python中的字典(Dictionary)和集合(Set)不能保存。

第二步:使用matlab讀取上述mat文件

打開matlab并讀取該mat文件,如下圖所示:

與Python中創(chuàng)建的內(nèi)容一致,讀取成功。

總結(jié) 

到此這篇關(guān)于Python讀寫mat文件操作的文章就介紹到這了,更多相關(guān)Python讀寫mat文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Flask框架運用WTForms實現(xiàn)用戶注冊的示例詳解

    Flask框架運用WTForms實現(xiàn)用戶注冊的示例詳解

    WTForms 是用于web開發(fā)的靈活的表單驗證和呈現(xiàn)庫,它可以與您選擇的任何web框架和模板引擎一起工作,并支持數(shù)據(jù)驗證、CSRF保護、國際化等。本文將運用WTForms實現(xiàn)用戶注冊功能,需要的可以參考一下
    2022-12-12
  • python中如何對多變量連續(xù)賦值

    python中如何對多變量連續(xù)賦值

    這篇文章主要介紹了python中如何對多變量連續(xù)賦值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python中Tkinter復(fù)選框Checkbutton是否被選中判斷

    python中Tkinter復(fù)選框Checkbutton是否被選中判斷

    這篇文章主要介紹了python中Tkinter復(fù)選框Checkbutton是否被選中判斷方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Pytorch中torch.cat()函數(shù)舉例解析

    Pytorch中torch.cat()函數(shù)舉例解析

    一般torch.cat()是為了把多個tensor進行拼接而存在的,下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.cat()函數(shù)舉例解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Django操作session 的方法

    Django操作session 的方法

    這篇文章主要介紹了Django操作session 的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python import與from import使用及區(qū)別介紹

    Python import與from import使用及區(qū)別介紹

    Python程序可以調(diào)用一組基本的函數(shù)(即內(nèi)建函數(shù)),比如print()、input()和len()等函數(shù)。接下來通過本文給大家介紹Python import與from import使用及區(qū)別介紹,感興趣的朋友一起看看吧
    2018-09-09
  • Python中的裝飾器類詳解

    Python中的裝飾器類詳解

    Python?裝飾器在很多情況下是一個非常有用的工具,它們可以用于修改或增強函數(shù)或類的行為,本篇文章將深入探討如何在?Python?中使用類裝飾器
    2023-06-06
  • Python語法def語句及復(fù)雜用法實例探究

    Python語法def語句及復(fù)雜用法實例探究

    在 Python 中,def?是用于定義函數(shù)的關(guān)鍵字,本文將深入介紹def的用法和特點,詳細說明如何定義函數(shù)、傳遞參數(shù)、返回值以及更復(fù)雜的用法
    2024-01-01
  • python pip如何手動安裝二進制包

    python pip如何手動安裝二進制包

    這篇文章主要介紹了python pip如何手動安裝二進制包,幫助大家更好的進行python開發(fā),感興趣的朋友可以了解下
    2020-09-09
  • keras 權(quán)重保存和權(quán)重載入方式

    keras 權(quán)重保存和權(quán)重載入方式

    這篇文章主要介紹了keras 權(quán)重保存和權(quán)重載入方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論

兴山县| 临汾市| 上饶县| 萝北县| 舟山市| 自治县| 安丘市| 襄汾县| 长兴县| 昌黎县| 南川市| 阿坝| 陈巴尔虎旗| 巴林右旗| 呼和浩特市| 遵义县| 郁南县| 高邮市| 伊宁市| 盐津县| 江门市| 孝义市| 茶陵县| 赤城县| 威宁| 长乐市| 阿瓦提县| 东城区| 沅陵县| 水城县| 南靖县| 天柱县| 陇西县| 玉林市| 武威市| 云南省| 舞钢市| 阜康市| 华亭县| 洛隆县| 梨树县|