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

mat矩陣和npy矩陣實現(xiàn)互相轉(zhuǎn)換(python和matlab)

 更新時間:2022年07月12日 14:28:38   作者:山上有只羊M  
這篇文章主要介紹了mat矩陣和npy矩陣實現(xiàn)互相轉(zhuǎn)換(python和matlab),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mat矩陣和npy矩陣互相轉(zhuǎn)換

numpy.narray矩陣保存為mat文件

import numpy as np
import scipy.io as io
mat_path = 'your_mat_save_path'
mat = np.zeros([4, 20])
io.savemat(mat_path, {'name': mat})

注意這里的mat是numpy類型的

讀取mat文件

import numpy as np
from scipy import io
mat = io.loadmat('yourfile.mat')
# 如果報錯:Please use HDF reader for matlab v7.3 files
# 改為下一種方式讀取
import h5py
mat = h5py.File('yourfile.mat')
# mat文件里可能有多個cell,各對應(yīng)著一個dataset
# 可以用keys方法查看cell的名字, 現(xiàn)在要用list(mat.keys()),
# 另外,讀取要用data = mat.get('名字'), 然后可以再用Numpy轉(zhuǎn)為array
print(mat.keys())
# 可以用values方法查看各個cell的信息
print(mat.values())
# 可以用shape查看維度信息
print(mat['your_dataset_name'].shape)
# 注意,這里看到的shape信息與你在matlab打開的不同
# 這里的矩陣是matlab打開時矩陣的轉(zhuǎn)置
# 所以,我們需要將它轉(zhuǎn)置回來
mat_t = np.transpose(mat['your_dataset_name'])
# mat_t 是numpy.ndarray格式
# 再將其存為npy格式文件
np.save('yourfile.npy', mat_t)

npy文件與mat文件的保存與讀取

除了常用的csv文件和excel文件之外,我們還可以通過PY把數(shù)據(jù)保存文npy文件格式和mat文件格式。

1. npy文件

npy即numpy對應(yīng)的文件格式,關(guān)于其保存使用的是np.save()方法,其讀取使用的是np.load()方法。 

具體示例如下:

import numpy as np
a = np.mat('1, 2, 3;4, 5, 6')
print(a)
print(type(a))
print("=================================")
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
print(type(b))

              

保存文件:

如圖,矩陣和numpy數(shù)組都支持以npy文件類型保存。

np.save('a.npy', a)
np.save('b.npy', b)

                    

讀取文件

data1 = np.load('a.npy')
data2 = np.load('b.npy')
print(data1)
print(type(data1))
print("=================================")
print(data2)
print(type(data2))

               

如圖npy數(shù)據(jù)被成功讀取,且都是numpy數(shù)組數(shù)據(jù)類型。

2. mat文件

保存為mat文件依賴于scipy庫中的scipy.io.savemat()方法,讀取則需要用到scipy.io.loadmat()方法。

保存時,不僅僅需要傳入變量,還需要將該變量的類型一并以字典的形式傳入,一樣支持numpy數(shù)組和矩陣。

具體示例如下:

import numpy as np
from scipy import io
a = np.mat('1, 2, 3;4, 5, 6')
print(a)
print(type(a))
print("=================================")
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
print(type(b))
io.savemat('a.mat', {'matrix': a})
io.savemat('b.mat', {'array': b})

讀取數(shù)據(jù)

data1 = io.loadmat('a.mat')
print(data1)
print(type(data1))
print("=================================")
data2 = io.loadmat('b.mat')
print(data2)
print(type(data2))

如圖,數(shù)據(jù)成功被讀取。但是讀取的結(jié)果是一個字典,如果需要進一步讀取到數(shù)據(jù),則需要根據(jù)鍵名將其取出:

print(data1['matrix'])
print(type(data1['matrix']))
print("=================================")
print(data2['array'])
print(type(data2['array']))

               

取出時的鍵與存儲時的變量類型有關(guān),取出的數(shù)據(jù)都是numpy數(shù)組,不再有矩陣類型。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Scrapy框架實現(xiàn)的登錄網(wǎng)站操作示例

    Scrapy框架實現(xiàn)的登錄網(wǎng)站操作示例

    這篇文章主要介紹了Scrapy框架實現(xiàn)的登錄網(wǎng)站操作,結(jié)合實例形式分析了Scrapy登錄網(wǎng)站cookies方式、post請求方式登錄網(wǎng)站相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-02-02
  • python基礎(chǔ)之爬蟲入門

    python基礎(chǔ)之爬蟲入門

    這篇文章主要介紹了python基礎(chǔ)之爬蟲入門,文中有非常詳細的代碼示例,對正在學(xué)習(xí)python爬蟲的小伙伴們有很好地幫助喲,需要的朋友可以參考下
    2021-05-05
  • pycharm恢復(fù)默認設(shè)置或者是替換pycharm的解釋器實例

    pycharm恢復(fù)默認設(shè)置或者是替換pycharm的解釋器實例

    今天小編就為大家分享一篇pycharm恢復(fù)默認設(shè)置或者是替換pycharm的解釋器實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python爬蟲正則表達式之處理換行符

    python爬蟲正則表達式之處理換行符

    本文是腳本之家小編剛學(xué)習(xí)python記錄的關(guān)于python爬蟲正則表達式之處理換行符的相關(guān)資料,需要的朋友可以參考下
    2018-06-06
  • PageFactory設(shè)計模式基于python實現(xiàn)

    PageFactory設(shè)計模式基于python實現(xiàn)

    這篇文章主要介紹了PageFactory設(shè)計模式基于python實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Python ldap實現(xiàn)登錄實例代碼

    Python ldap實現(xiàn)登錄實例代碼

    今天給大家分享python idap實現(xiàn)登錄的實例代碼,代碼簡單易懂,需要的朋友一起看看吧
    2016-09-09
  • 深入探討opencv圖像矯正算法實戰(zhàn)

    深入探討opencv圖像矯正算法實戰(zhàn)

    在機器視覺中,對于圖像的處理有時候因為放置的原因?qū)е翿OI區(qū)域傾斜,這個時候我們會想辦法把它糾正為正確的角度視角來,本文主要介紹了opencv圖像矯正算法,感興趣的可以了解一下
    2021-05-05
  • Python控制鼠標(biāo)鍵盤代碼實例

    Python控制鼠標(biāo)鍵盤代碼實例

    這篇文章主要介紹了Python控制鼠標(biāo)鍵盤代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Python GUI Tkinter簡單實現(xiàn)個性簽名設(shè)計

    Python GUI Tkinter簡單實現(xiàn)個性簽名設(shè)計

    這篇文章主要為大家詳細介紹了Python GUI Tkinter簡單實現(xiàn)個性簽名設(shè)計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python的常見命令注入威脅

    python的常見命令注入威脅

    不過下面可是我們開發(fā)產(chǎn)品初期的一些血淋淋的案例,更多的安全威脅可以看看北北同學(xué)的《python hack》PPT,里面提及了不只命令執(zhí)行的威脅,那些都是我們親身經(jīng)歷的代碼
    2013-02-02

最新評論

错那县| 宝坻区| 汕尾市| 福海县| 潼关县| 和静县| 鹤峰县| 金沙县| 东乡族自治县| 巴中市| 陆川县| 玉屏| 乌恰县| 恩平市| 阳原县| 鹿泉市| 邵阳市| 平湖市| 镇巴县| 衡南县| 察哈| 芒康县| 桐庐县| 延寿县| 盐边县| 浦东新区| 杭州市| 石渠县| 务川| 镇平县| 宣武区| 山阳县| 大埔县| 惠水县| 镇康县| 沙雅县| 锦州市| 玉山县| 涿鹿县| 塔城市| 上林县|