Python数据存储之 h5py详解

1、Python数据存储(压缩)

(1)numpy.save , numpy.savez , scipy.io.savemat

numpy和scipy内建的数据存储方式。

(2)cPickle + gzip

cPickle是pickle内建的数据存储方式,gzip是常用的文件压缩模块。

(3)h5py

h5py是对HDF5文件格式进行读写的python包,关于h5py更多介绍与安装,参考官方网站

关于HDF5,参考官方网站。:

一个HDF5文件就是一个由两种基本数据对象(groups and datasets)存放多种科学数据的容器:

HDF5 dataset: 数据元素的一个多维数组以及支持元数据(metadata); HDF5 group: 包含0个或多个HDF5对象以及支持元数据(metadata)的一个群组结构;

总之,dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group;group和dataset在h5py中的使用有点类似于词典和Numpy中数组的用法。

h5py的优势:速度快、压缩效率高,总之,numpy.savez和cPickle存储work或不work的都可以试一试h5py!

2、h5py读取和存储数据示例

import h5py
X= np.random.rand(100, 1000, 1000).astype('float32')
y = np.random.rand(1, 1000, 1000).astype('float32')

# Create a new file
f = h5py.File('data.h5', 'w')
f.create_dataset('X_train', data=X)
f.create_dataset('y_train', data=y)
f.close()

# Load hdf5 dataset
f = h5py.File('data.h5', 'r')
X = f['X_train']
Y = f['y_train']
f.close()

详细使用方法,参考官网

以上这篇Python数据存储之 h5py详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 基于h5py的使用及数据封装代码

    1. h5py简单介绍 h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多.group是像文件夹一样的容器,它好比python中的字典,有键(key)和值(value).group中可以存放dataset或者其他的group."键"就是组成员的名称,"值"就是组成员对象本身(组或者数据集),下面来看下如何创建组和数据集. 1.1 创建一个h5py文件 import h5py #要

  • Python数据存储之 h5py详解

    1.Python数据存储(压缩) (1)numpy.save , numpy.savez , scipy.io.savemat numpy和scipy内建的数据存储方式. (2)cPickle + gzip cPickle是pickle内建的数据存储方式,gzip是常用的文件压缩模块. (3)h5py h5py是对HDF5文件格式进行读写的python包,关于h5py更多介绍与安装,参考官方网站 关于HDF5,参考官方网站.: 一个HDF5文件就是一个由两种基本数据对象(groups and d

  • C语言 数据存储方式知识点详解

    C语言 数据存储方式 一.源码 一个数的原码(原始的二进制码)有如下特点: 最高位做为符号位,0表示正,为1表示负 其它数值部分就是数值本身绝对值的二进制数 负数的原码是在其绝对值的基础上,最高位变为1 下面数值以1字节的大小描述: 十进制数 原码 +15 0000 1111 -15 1000 1111 +0 0000 0000 -0 1000 0000 注:原码表示法简单易懂,与带符号数本身转换方便,只要符号还原即可,但当两个正数相减或不同符号数相加时,必须比较两个数哪个绝对值大,才能决定谁减

  • python数据XPath使用案例详解

    目录 XPath XPath使用方法 xpath解析原理: 安装lxml 案例-58二手房 XPath XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言. XPath使用方法 xpath解析原理: 1.实例化一个etree的对象,且需要将被解析的页面源代码数据加载到该对象中 2.调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获 安装lxml pip install -i https://mirro

  • Python数据可视化绘图实例详解

    目录 利用可视化探索图表 1.数据可视化与探索图 2.常见的图表实例 数据探索实战分享 1.2013年美国社区调查 2.波士顿房屋数据集 利用可视化探索图表 1.数据可视化与探索图 数据可视化是指用图形或表格的方式来呈现数据.图表能够清楚地呈现数据性质, 以及数据间或属性间的关系,可以轻易地让人看图释义.用户通过探索图(Exploratory Graph)可以了解数据的特性.寻找数据的趋势.降低数据的理解门槛. 2.常见的图表实例 本章主要采用 Pandas 的方式来画图,而不是使用 Matpl

  • Android通过"记住密码"功能学习数据存储类SharedPreferences详解及实例

    SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中. 一.简介 它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容. 二.重要方法 public abstract boole

  • vue实现todolist基本功能以及数据存储功能实例详解

    实现todolist功能,具体实现如下: 可以实现对list添加.移除以及状态转变,其中添加功能既可以通过鼠标点击按钮实现,也可以通过回车键按下实现,通过使用v-model对checked的值进行双向绑定来完成状态的改变.在本次实际操作中仍存在一个小问题就是methods中函数调用,在完成数据存储前可以通过this.$options.methods.addFun();进行调用. <div id="app"> <input type="text" v

  • Docker数据存储之Volumes详解

    默认容器的数据的读写发生在容器的存储层,当容器被删除时其上的数据将会丢失.所以我们应该尽量保证容器存储层不发生写操作,为了实现数据的持久化存储我们需要选择一种方案来保存数据,当前有以下几种方式: Volumes Bind mounts tmpfs mounts 下图展示了这三种技术: Volumes Volumes(数据卷)是一个可供一个或多个容器使用的位于宿主机上特殊目录,它拥有以下特性: 数据卷可以在容器间共享和重用 对数据卷的写入操作,不会对镜像有任何影响 数据卷默认会一直存在,即使容器被

  • Python 数据科学 Matplotlib图库详解

    Matplotlib 是 Python 的二维绘图库,用于生成符合出版质量或跨平台交互环境的各类图形. 图形解析与工作流 图形解析 工作流 Matplotlib 绘图的基本步骤: 1  准备数据 2  创建图形 3 绘图 4 自定义设置 5 保存图形 6 显示图形 import matplotlib.pyplot as plt x = [1,2,3,4] # step1 y = [10,20,25,30] fig = plt.figure() # step2 ax = fig.add_subpl

  • 使用.NET 6开发TodoList应用之引入数据存储的思路详解

    需求 作为后端CRUD程序员(bushi,数据存储是开发后端服务一个非常重要的组件.对我们的TodoList项目来说,自然也需要配置数据存储.目前的需求很简单: 需要能持久化TodoList对象并对其进行操作: 需要能持久化TodoItem对象并对其进行操作: 问题是,我们打算如何存储数据? 存储组件的选择非常多:以MSSQL Server/Postgres/MySql/SQLite等为代表的关系型数据库,以MongoDB/ElasticSearch等为代表的非关系型数据库,除此之外,我们还可以

  • Ruby使用GDBM操作DBM数据存储方法实例详解

    DBM简介 dbm(database manager) 是使用本地文件来存储数据的数据库,基于Key -Value对数据进行存储.读取,且有些dbm的实现( berkeley db)还支持BTree索引.dbm效率相对较高,甚至在某些情况下比关系型数据库系统的速度还更高,因为几乎所有dbm都支持比BTree效率要高的hash索引方式. 有多种dbm实现:标准dbm.ndbm( new dbm).gdbm(GNU DBM).sdbm( small dbm).Berkeley db等, gdbm是对

随机推荐