Python 存取npy格式数据实例


Posted in Python onJuly 01, 2020

数据处理的时候主要通过两个函数

(1):np.save(“test.npy”,数据结构) ----存数据

(2):data =np.load('test.npy") ----取数据

给2个例子如下(存列表)

1、

z = [[[1, 2, 3], ['w']], [[1, 2, 3], ['w']]]
np.save('test.npy', z)
x = np.load('test.npy')

x:
->array([[list([1, 2, 3]), list(['w'])],
    [list([1, 2, 3]), list(['w'])]], dtype=object)

2、存字典

x
-> {0: 'wpy', 1: 'scg'}
np.save('test.npy',x)
x = np.load('test.npy')
x
->array({0: 'wpy', 1: 'scg'}, dtype=object)

3、在存为字典格式读取后,需要先调用如下语句

data.item()

将数据numpy.ndarray对象转换为dict

补充知识:python读取mat或npy文件以及将mat文件保存为npy文件(或npy保存为mat)的方法

读取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的名字, 现在要用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)
# 这里不会将数据转置

方法二(使用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 存取npy格式数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
python BeautifulSoup设置页面编码的方法
Apr 03 Python
使用Python压缩和解压缩zip文件的教程
May 06 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
python字典的常用方法总结
Jul 31 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
python dict乱码如何解决
Jun 07 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
python判断变量是否为列表的方法
Sep 17 Python
基于python实现音乐播放器代码实例
Jul 01 #Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 #Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 #Python
.img/.hdr格式转.nii格式的操作
Jul 01 #Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 #Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
Jul 01 #Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 #Python
You might like
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
JavaScript引用类型Function实例详解
2018/08/09 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
python概率计算器实例分析
2015/03/25 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Django组件cookie与session的具体使用
2019/06/05 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
公司廉洁自律承诺书
2014/03/27 职场文书
法学专业求职信
2014/07/15 职场文书
2014年保管员工作总结
2014/11/18 职场文书