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实现strcmp函数功能示例
Mar 25 Python
举例详解Python中threading模块的几个常用方法
Jun 18 Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
Windows下搭建python开发环境详细步骤
Jul 20 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
Pygame Rect区域位置的使用(图文)
Nov 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
用php实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
jquery中获取元素的几种方式小结
2011/07/05 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
django框架自定义用户表操作示例
2018/08/07 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
python机器学习实现决策树
2019/11/11 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
狼和鹿教学反思
2014/02/05 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
AJAX实现省市县三级联动效果
2021/10/16 Javascript
python中urllib包的网络请求教程
2022/04/19 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android