iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >mat矩阵和npy矩阵怎么实现互相转换
  • 394
分享到

mat矩阵和npy矩阵怎么实现互相转换

2023-07-02 17:07:35 394人浏览 安东尼
摘要

这篇“mat矩阵和npy矩阵怎么实现互相转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mat矩阵和npy矩阵怎么实现互相

这篇“mat矩阵和npy矩阵怎么实现互相转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mat矩阵和npy矩阵怎么实现互相转换”文章吧。

mat矩阵和npy矩阵互相转换

numpy.narray矩阵保存为mat文件

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

注意这里的mat是numpy类型的

读取mat文件

import numpy as npfrom scipy import iomat = io.loadmat('yourfile.mat')# 如果报错:Please use HDF reader for matlab v7.3 files# 改为下一种方式读取import h6pymat = h6py.File('yourfile.mat')# mat文件里可能有多个cell,各对应着一个dataset# 可以用keys方法查看cell的名字, 现在要用list(mat.keys()),# 另外,读取要用data = mat.get('名字'), 然后可以再用Numpy转为arrayprint(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文件与mat文件的保存与读取

除了常用的csv文件和excel文件之外,我们还可以通过PY把数据保存文npy文件格式和mat文件格式。

1. npy文件

npy即numpy对应的文件格式,关于其保存使用的是np.save()方法,其读取使用的是np.load()方法。 

具体示例如下:

import numpy as npa = 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))

mat矩阵和npy矩阵怎么实现互相转换

保存文件:

如图,矩阵和numpy数组都支持以npy文件类型保存。

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

mat矩阵和npy矩阵怎么实现互相转换

读取文件

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

mat矩阵和npy矩阵怎么实现互相转换

如图npy数据被成功读取,且都是numpy数组数据类型。

2. mat文件

保存为mat文件依赖于scipy库中的scipy.io.savemat()方法,读取则需要用到scipy.io.loadmat()方法。

保存时,不仅仅需要传入变量,还需要将该变量的类型一并以字典的形式传入,一样支持numpy数组和矩阵。

具体示例如下:

import numpy as npfrom scipy import ioa = 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})

mat矩阵和npy矩阵怎么实现互相转换

mat矩阵和npy矩阵怎么实现互相转换

读取数据

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

mat矩阵和npy矩阵怎么实现互相转换

如图,数据成功被读取。但是读取的结果是一个字典,如果需要进一步读取到数据,则需要根据键名将其取出:

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

mat矩阵和npy矩阵怎么实现互相转换

取出时的键与存储时的变量类型有关,取出的数据都是numpy数组,不再有矩阵类型。

以上就是关于“mat矩阵和npy矩阵怎么实现互相转换”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: mat矩阵和npy矩阵怎么实现互相转换

本文链接: https://www.lsjlt.com/news/343339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mat矩阵和npy矩阵怎么实现互相转换
    这篇“mat矩阵和npy矩阵怎么实现互相转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mat矩阵和npy矩阵怎么实现互相...
    99+
    2023-07-02
  • mat矩阵和npy矩阵实现互相转换(python和matlab)
    目录mat矩阵和npy矩阵互相转换numpy.narray矩阵保存为mat文件读取mat文件npy文件与mat文件的保存与读取1. npy文件2. mat文件mat矩阵和npy矩阵互...
    99+
    2022-11-11
  • python旋转矩阵怎么实现
    要实现矩阵的旋转,可以使用numpy库中的rot90函数。下面是一个简单的示例代码: import numpy as np # 创...
    99+
    2023-10-21
    python
  • 怎么使用Python实现生成对角矩阵和对角块矩阵
    这篇文章主要介绍了怎么使用Python实现生成对角矩阵和对角块矩阵的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python实现生成对角矩阵和对角块矩阵文章都会有所收获,下面我们一起来看看吧。对角矩阵s...
    99+
    2023-07-06
  • Python列表矩阵转置怎么实现
    要实现Python列表的矩阵转置,可以使用zip函数。下面是一个示例代码:```pythondef transpose(matrix...
    99+
    2023-09-29
    Python
  • python中怎么利用numpy.matmul实现矩阵相乘
    这篇文章将为大家详细讲解有关python中怎么利用numpy.matmul实现矩阵相乘,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。说明该函数返回两个数组的矩阵乘积。虽然返回二维数组的正常乘...
    99+
    2023-06-20
  • C# BitArray(点矩阵)转换成int和string的方法实现
    BitArray的基础可以看菜鸟编程 BitArray 类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),false 表示位是关闭的(0)。 当您...
    99+
    2022-11-13
  • 通过变换矩阵怎么实现canvas的缩放功能
    本篇文章为大家展示了通过变换矩阵怎么实现canvas的缩放功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一步就是监听鼠标的滚轮事件,在滚轮事件中根据鼠标的滚动以及基于前一次的变换,重新设置co...
    99+
    2023-06-09
  • pytorch中矩阵乘法和数组乘法怎么实现
    本篇内容介绍了“pytorch中矩阵乘法和数组乘法怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、torch.mul该乘法可简单理...
    99+
    2023-07-05
  • 怎么在R语言项目中实现一个向量和矩阵
    这期内容当中小编将会给大家带来有关怎么在R语言项目中实现一个向量和矩阵,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、向量运算向量是有相同基本类型的元素序列,一维数组,定义向量的最常用办法是使用函数c(...
    99+
    2023-06-08
  • Java怎么实现Unicode和中文相互转换
    在Java中,可以使用java.nio.charset.StandardCharsets类和java.lang.String类来实现...
    99+
    2023-10-18
    Java
  • C#怎么实现Word和ODT文档相互转换
    本篇内容介绍了“C#怎么实现Word和ODT文档相互转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ODT文档格式一种开放文档格式(Ope...
    99+
    2023-06-30
  • C#怎么实现实体类和XML的相互转换
    这篇文章主要为大家展示了“C#怎么实现实体类和XML的相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#怎么实现实体类和XML的相互转换”这篇文章吧。一、实体类转换成XML将实体类转换成...
    99+
    2023-06-29
  • Python怎么实现图片和视频的相互转换
    本篇内容主要讲解“Python怎么实现图片和视频的相互转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现图片和视频的相互转换”吧!使用背景有时候我们需要把很多的图片合成视频,...
    99+
    2023-06-22
  • js怎么实现base64、url和blob之间相互转换
    这篇文章主要讲解了“js怎么实现base64、url和blob之间相互转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么实现base64、url和blob之间相互转换”吧!一般来说前...
    99+
    2023-07-06
  • css的display属性怎么实现块级元素和内联元素的相互转换
    这篇文章给大家分享的是有关css的display属性怎么实现块级元素和内联元素的相互转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   默认情况下,段落<p>(...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作