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

Python實現(xiàn)npy/mat文件的保存與讀取

 更新時間:2022年04月24日 14:16:45   作者:侯小啾  
除了常用的csv文件和excel文件之外,我們還可以通過Python把數(shù)據(jù)保存文npy文件格式和mat文件格式。本文為大家展示了實現(xiàn)npy文件與mat文件的保存與讀取的示例代碼,需要的可以參考一下

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

1. npy文件

npy即numpy對應的文件格式,關于其保存使用的是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ù)成功被讀取。但是讀取的結果是一個字典,如果需要進一步讀取到數(shù)據(jù),則需要根據(jù)鍵名將其取出:

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

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

補充

讀取mat文件并存為npy格式文件

具體見代碼,注意h5py的轉置問題

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,各對應著一個dataset

# 可以用keys方法查看cell的名字, 現(xiàn)在要用list(mat.keys()),
# 另外,讀取要用data = mat.get('名字'), 然后可以再用Numpy轉為array
print(mat.keys())
# 可以用values方法查看各個cell的信息
print(mat.values())

# 可以用shape查看維度信息
print(mat['your_dataset_name'].shape)
# 注意,這里看到的shape信息與你在matlab打開的不同
# 這里的矩陣是matlab打開時矩陣的轉置
# 所以,我們需要將它轉置回來
mat_t = np.transpose(mat['your_dataset_name'])
# mat_t 是numpy.ndarray格式

# 再將其存為npy格式文件
np.save('yourfile.npy', mat_t)

npy文件的讀取很簡單

import numpy as np
matrix = np.load('yourfile.npy')

重新讀取npy文件保存為mat文件

方法一(在MATLAB雙擊打開時遇到了錯誤:Unable to read MAT-file *********.mat. Not a binary MAT-file. Try load -ASCII to read as text. ):

import numpy as np

matrix = np.load('yourfile.npy')
f = h5py.File('yourfile.mat', 'w')
f.create_dataset('dataname', data=matrix)
# 這里不會將數(shù)據(jù)轉置

方法二(使用scipy):

from scipy import io

mat = np.load('rlt_gene_features.npy-layer-3-train.npy')
io.savemat('gene_features.mat', {'gene_features': mat})

到此這篇關于Python實現(xiàn)npy/mat文件的保存與讀取的文章就介紹到這了,更多相關Python npy mat文件保存讀取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • pip安裝時ReadTimeoutError的解決方法

    pip安裝時ReadTimeoutError的解決方法

    今天小編就為大家分享一篇pip安裝時ReadTimeoutError的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 一行代碼實現(xiàn)Python動態(tài)加載依賴

    一行代碼實現(xiàn)Python動態(tài)加載依賴

    本文主要介紹了Python動態(tài)加載依賴,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • python的變量與賦值詳細分析

    python的變量與賦值詳細分析

    這篇文章主要介紹了python的變量與賦值詳細分析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Python 序列化 pickle/cPickle模塊使用介紹

    Python 序列化 pickle/cPickle模塊使用介紹

    這篇文章主要介紹了Python 序列化 pickle/cPickle模塊使用介紹,需要的朋友可以參考下
    2014-11-11
  • Python中的 dir() 函數(shù)示例詳解

    Python中的 dir() 函數(shù)示例詳解

    dir()函數(shù)是Python 中一個非常有用的工具,可以用于查找對象的所有屬性和方法,如獲取當前作用域的變量和方法、查找模塊中的導出內(nèi)容、動態(tài)查找對象屬性等,通過本文的介紹和示例代碼,大家可以更全面地了解 dir() 函數(shù)的用法和注意事項,需要的朋友參考下吧
    2022-03-03
  • 打包遷移Python?env環(huán)境的三種方法總結

    打包遷移Python?env環(huán)境的三種方法總結

    平常工作中可能遇到python虛擬環(huán)境遷移的場景,總結了如下幾個方法,下面這篇文章主要給大家介紹了關于打包遷移Python?env環(huán)境的三種方法,需要的朋友可以參考下
    2024-08-08
  • 基于Python實現(xiàn)蒙特卡洛法計算圓周率π

    基于Python實現(xiàn)蒙特卡洛法計算圓周率π

    蒙特卡羅法也稱統(tǒng)計模擬法、統(tǒng)計試驗法,是把概率現(xiàn)象作為研究對象的數(shù)值模擬方法,是按抽樣調(diào)查法求取統(tǒng)計值來推定未知特性量的計算方法,本文我們將介紹如何使用Python來實現(xiàn)蒙特卡洛法計算圓周率π,感興趣的朋友可以參考下
    2023-06-06
  • 用python生成與調(diào)用cntk模型代碼演示方法

    用python生成與調(diào)用cntk模型代碼演示方法

    今天小編就為大家分享一篇用python生成與調(diào)用cntk模型代碼演示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python 字符串只保留漢字的方法

    python 字符串只保留漢字的方法

    今天小編就為大家分享一篇python 字符串只保留漢字的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python類的繼承實例詳解

    python類的繼承實例詳解

    這篇文章主要介紹了python類的繼承實例詳解的相關資料,需要的朋友可以參考下
    2017-03-03

最新評論

原阳县| 青冈县| 广元市| 吴忠市| 依兰县| 辽阳县| 台州市| 册亨县| 长泰县| 乌兰察布市| 景泰县| 米林县| 商洛市| 奉节县| 和平区| 驻马店市| 周口市| 盐城市| 宽城| 湄潭县| 绥宁县| 彩票| 新乡市| 永昌县| 鹤壁市| 日喀则市| 沧州市| 枣阳市| 读书| 邵武市| 沭阳县| 巴塘县| 万山特区| 清河县| 高邮市| 东安县| 凤山县| 宜都市| 平顶山市| 安陆市| 无为县|