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入门教程
Apr 03 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
Python装饰器限制函数运行时间超时则退出执行
Apr 09 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
linux下python中文乱码解决方案详解
Aug 28 Python
Python上下文管理器用法及实例解析
Nov 11 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
openCV提取图像中的矩形区域
Jul 21 Python
浅析python中的del用法
Sep 02 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
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
vue 项目build错误异常的解决方法
2019/04/22 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
简析Python的闭包和装饰器
2016/02/26 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
政府信息公开实施方案
2014/05/09 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
AngularJS实现多级下拉框
2022/03/25 Javascript
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL