python npy文件,python保存mat文件

  python npy文件,python保存mat文件

  除了csv文件和excel文件,我们还可以用Python保存npy文件格式和mat文件格式的数据。本文向您展示了保存和读取npy文件和mat文件的示例代码。有需要可以参考一下。

  

目录

1.npy文件2。mat文件补充阅读mat文件以npy格式文件存在。读取npy文件非常简单。重新读取npy文件并将其保存为mat文件。除了csv文件和excel文件,我们还可以通过py保存npy文件格式和mat文件格式的数据。

 

  

1. npy文件

 

  Npy是numpy对应的文件格式,由np.save()保存,由np.load()读取。

  具体例子如下:

  将numpy作为np导入

  a=np.mat(1,2,3;4, 5, 6)

  打印(一份)

  打印(类型(a))

  打印(============================)

  b=np.array([[1,2,3],[4,5,6]])

  打印(b)

  打印(类型(b))

  保存文件:

  如图所示,matrix和numpy数组都支持另存为npy文件类型。

  np.save(a.npy ,a)

  np.save(b.npy ,b)

  读取文件

  data1=np.load(a.npy )

  data2=np.load(b.npy )

  打印(数据1)

  打印(类型(数据1))

  打印(============================)

  打印(数据2)

  打印(类型(数据2))

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

  

2. mat文件

 

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

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

  具体例子如下:

  将numpy作为np导入

  从scipy导入io

  a=np.mat(1,2,3;4, 5, 6)

  打印(一份)

  打印(类型(a))

  打印(============================)

  b=np.array([[1,2,3],[4,5,6]])

  打印(b)

  打印(类型(b))

  io.savemat(a.mat ,{matrix: a})

  io.savemat(b.mat ,{array: b})

  读出数据

  data1=io.loadmat(a.mat )

  打印(数据1)

  打印(类型(数据1))

  打印(============================)

  data2=io.loadmat(b.mat )

  打印(数据2)

  打印(类型(数据2))

  如图所示,数据读取成功。但读书的结果是一本字典。如果需要进一步读取数据,需要根据键名取出:

  打印(数据1[矩阵])

  打印(类型(数据1[矩阵]))

  打印(============================)

  print(data2[array])

  print(type(data2[array]))

  检索到的关键字与存储中的变量类型相关。检索到的数据都是numpy数组,没有矩阵类型。

  

补充

 

  

读取mat文件并存为npy格式文件

 

  看具体代码,注意h5py的换位。

  将numpy作为np导入

  从scipy导入io

  mat=io.loadmat(yourfile.mat )

  #如果报告了错误,请使用MATLAB V7.3文件的HDF阅读器

  #换一种方式阅读

  导入h5py

  mat=h5py。文件(“yourfile.mat”)

  # mat文件中可能有多个单元格,每个单元格对应一个数据集。

  #您可以用keys方法检查单元格的名称。现在你必须使用list(mat.keys()),

  #另外要用data=mat.get (name )进行读取,然后可以用Numpy把它变成数组。

  print(mat.keys())

  #您可以使用values方法查看每个单元格的信息。

  print(mat.values())

  #您可以通过形状查看尺寸信息

  print(mat[您的数据集名称]。形状)

  #请注意,您在这里看到的形状信息与您在matlab中打开的不同。

  #这里的矩阵是matlab打开时矩阵的转置。

  #所以,我们需要把它转回去

  mat _ t=NP . transpose(mat[ your _ dataset _ name ])

  # mat_t采用numpy.ndarray格式。

  #然后保存为npy格式文件。

  np.save(yourfile.npy ,mat_t)

  

npy文件的读取很简单

 

  将numpy作为np导入

  matrix=np.load(yourfile.npy )

  

重新读取npy文件保存为mat文件

 

  方法一(双击打开MATLAB时遇到错误:无法读取mat-file * * * * * * * *。垫子。不是二进制mat文件。尝试用load-ascii读取文本。):

  将numpy作为np导入

  matrix=np.load(yourfile.npy )

  f=h5py。文件( yourfile.mat , w )

  f.create_dataset(dataname ,data=matrix)

  #此处数据不会被转置

  方法2(使用scipy):

  从scipy导入io

  mat=NP . load( rlt _ gene _ features . npy-layer-3-train . npy )

  io.savemat(gene_features.mat ,{gene_features: mat})

  这就是这篇关于用Python保存和读取npy/mat文件的文章。关于保存和读取Python npy mat文件的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望你以后能支持风行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: