标签分类 热门分类
当前位置:首页 > > Python数据分析电子书网盘下载
Python和HDF5大数据应用 Python和HDF5大数据应用
码小辫

码小辫 提供上传

资源
24
粉丝
15
喜欢
365
评论
5

    Python和HDF5大数据应用 PDF 高质量中文版

    Python数据分析电子书
    • 发布时间:

    给大家带来的一篇关于Python数据分析相关的电子书资源,介绍了关于Python、HDF5、大数据方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小13.8 MB,科莱特编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.7

  • Python和HDF5大数据应用 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1qd6eKt6HtBefcU80SVWNj
  • 分享码:5226
  • 读者评价

    就喜欢这种专注于一项技术,小而美的书。几个小时入门hdf5绝没问题。

    学习hdf5数据分析处理,不错。

    hdf5是大数据存储效率比较高的一种方式,书本很薄,内容不错

    编辑推荐

    Python语言在科学计算和数据处理领域应用前景广阔。大数据时代,催生了人们处理大量数据的实际需求。Python应用领域的拓展,越来越多的人将Python用于处理大型数值数据集,使用标准格式来进行数据的存储和通信也显得越来越重要,而HDF5也正迅速成为人们存储科学数据的选择。本书会带你迅速了解使用HDF5对大小从GB至TB的数字数据集进行存档和共享的细节、实践以及陷阱,体验在Python语言中用HDF5存储科学数据。通过真实世界的例子以及动手练习,你将依次学习科学数据集、层次性组织的组、用户定义的元数据,以及有互操作性的文件等主题。本书的例子对于Python2和Python3都适用。 本书包括以下内容:设置HDF5工具并创建HDF5文件。通过学习HDF5数据集对象来使用数据集。理解数据集分块和压缩等高级功能。使用组来学习如何利用HDF5层次性结构。使用HDF5的属性来添加元数据,创建可以自解释的文件。利用HDF5的类型系统创建有互操作性的文件。使用引用,命名类型和维度标尺来表示数据之间的关系。了解在Python中如何编写能跟HDF5互动的并行代码。本书生产力和创造力的推进器的一个真实的完美例子。本书会让你觉得"HDF5很简单"。 

    内容介绍

    随着Python应用领域的拓展,越来越多的人将Python用于处理大型数值数据集,使用标准格式来进行数据的存储和通信也显得越来越重要,而HDF5也正迅速成为人们存储科学数据的选择。本书向任何有Python数据分析基本背景的人介绍如何在Python下使用HDF5。 本书将着重于HDF5的本地功能集,而不是Python的高层抽象。熟悉Python和NumPy的读者,更容易阅读和掌握本书的内容。本书适合有一定基础的Python开发者,尤其适合要使用Python开发数据存储和处理等相关应用的读者阅读参考。

    内容节选

    python 读取txt,json和hdf5文件的实例

    一.python读取txt文件

    最简单的open函数:

    # -*- coding: utf-8 -*-
    with open("test.txt","r",encoding="gbk",errors='ignore') as f:
     print(f.read())

    这里用open函数读取了一个txt文件,”encoding”表明了读取格式是“gbk”,还可以忽略错误编码。

    另外,使用with语句操作文件IO是个好习惯,省去了每次打开都要close()。

    二.python读取json文件

    简单的test.json文件如下:

    {
     "glossary": {
     "title": "example glossary",
     "GlossDiv": {
      "title": "S",
      "GlossList": {
      "GlossEntry": {
       "ID": "SGML",
       "SortAs": "SGML",
       "GlossTerm": "Standard Generalized Markup Language",
       "Acronym": "SGML",
       "Abbrev": "ISO 8879:1986",
       "GlossDef": {
       "para": "A meta-markup language, used to create markup languages such as DocBook.",
       "GlossSeeAlso": ["GML", "XML"]
       },
       "GlossSee": "markup"
      }
      }
     }
     }
    }

    这里需要用python的json模块处理解析:

    import json
    data = json.load(open('example.json'))
    print(type(data))
    print(data)

    打印如下:

    <class 'dict'>
    {'glossary': {'title': 'example glossary', 'GlossDiv': {'title': 'S', 'GlossList': {'GlossEntry': {'ID': 'SGML', 'SortAs': 'SGML', 'GlossTerm': 'Standard Generalized Markup Language', 'Acronym': 'SGML', 'Abbrev': 'ISO 8879:1986', 'GlossDef': {'para': 'A meta-markup language, used to create markup languages such as DocBook.', 'GlossSeeAlso': ['GML', 'XML']}, 'GlossSee': 'markup'}}}}}

    可见json.load()函数返回值是dict,json数据现在就成了一个网状的Python字典。

    接下来我们就可以用标准的键检索来进行解读,比如:

    print(data['glossary']['GlossDiv']['GlossList'])

    打印结果如下:

    {'GlossEntry': {'ID': 'SGML', 'SortAs': 'SGML', 'GlossTerm': 'Standard Generalized Markup Language', 'Acronym': 'SGML', 'Abbrev': 'ISO 8879:1986', 'GlossDef': {'para': 'A meta-markup language, used to create markup languages such as DocBook.', 'GlossSeeAlso': ['GML', 'XML']}, 'GlossSee': 'markup'}}

    三.python 读取HFD5文件

    HDF5 是一种层次化的格式(hierarchical format),经常用于存储复杂的科学数据。例如 MATLAB 就是用这个格式来存储数据。在存储带有关联的元数据(metadata)的复杂层次化数据的时候,这个格式非常有用,例如计算机模拟实验的运算结果等等。

    与HDF5 相关的主要概念有以下几个:

    文件 file: 层次化数据的容器,相当于树根('root' for tree)

    组 group: 树的一个节点(node for a tree)

    数据集 dataset: 数值数据的数组,可以非常非常大

    属性 attribute: 提供额外信息的小块的元数据

    # -*- coding: utf-8 -*-
    #创建hdf5文件
    import datetime
    import os
    import h5py
    import numpy as np
    imgData = np.zeros((30,3,128,256))
    if not os.path.exists('test.hdf5'):
     with h5py.File('test.hdf5') as f:
     f['data'] = imgData   #将数据写入文件的主键data下面
     f['labels'] = range(100) 
    

    创建完成之后读取:

    import datetime
    import os
    import h5py
    import numpy as np
    with h5py.File('test.hdf5') as f:
     print(f)
     print(f.keys)
    

    除了上述方法,pandas还提供一个直接读取h5文件的函数:

    pd.HDFStore
    import datetime
    import os
    import h5py
    import numpy as np
    import pandas as pd
    data = pd.HDFStore("dataset_log.h5")
    print(type(data))
    

    打印结果为:

    <class 'pandas.io.pytables.HDFStore'>
    Closing remaining open files:dataset_log.h5...done
    

    目录

    • 1章 简介1
    • 1.1 Python和HDF52
    • 1.1.1 数据和元数据的组织2
    • 1.1.2 大数据复制3
    • 1.2 HDF5到底是什么4
    • 1.2.1 HDF5文件规格5
    • 1.2.2 HDF5标准库6
    • 1.2.3 HDF5生态系统6
    • 第2章 开始使用7
    • 2.1 HDF基本原理7
    • 2.2 设置8
    • 2.2.1 Python2还是Python38
    • 2.2.2 代码示例9
    • 2.2.3 NumPy9
    • 2.2.4 HDF5和h5py11
    • 2.2.5 IPython11
    • 2.2.6 时间和优化12
    • 2.3 HDF5工具13
    • 2.3.1 HDFView13
    • 2.3.2 ViTables14
    • 2.3.3 命令行工具15
    • 2.4 你的**个HDF5文件16
    • 2.4.1 使用环境管理器17
    • 2.4.2 文件驱动18
    • 2.4.3 用户块19
    • 第3章 使用数据集20
    • 3.1 数据集基础20
    • 3.1.1 类型和形状20
    • 3.1.2 读和写21
    • 3.1.3 创建空数据集22
    • 3.1.4 显式指定存储类型来节省空间22
    • 3.1.5 自动类型转换和直读23
    • 3.1.6 用astype读24
    • 3.1.7 改变形状25
    • 3.1.8 默认填充值25
    • 3.2 读写数据25
    • 3.2.1 高效率切片26
    • 3.2.2 start-stop-step索引27
    • 3.2.3 多维切片和标量切片28
    • 3.2.4 布尔索引29
    • 3.2.5 坐标列表30
    • 3.2.6 自动广播31
    • 3.2.7 直读入一个已存在的数组32
    • 3.2.8 数据类型注解33
    • 3.3 改变数据集的形状34
    • 3.3.1 创建可变形数据集35
    • 3.3.2 用resize重新组织数据36
    • 3.3.3 何时以及如何进行resize37
    • 第4章 让分块和压缩来帮忙38
    • 4.1 连续存储38
    • 4.2 分块存储40
    • 4.3 设置分块形状41
    • 4.3.1 自动分块41
    • 4.3.2 手动选择一个形状42
    • 4.4 性能实例:可变形数据集43
    • 4.5 过滤器和压缩44
    • 4.5.1 过滤器流水线45
    • 4.5.2 压缩过滤器45
    • 4.5.3 GZIP/DEFLATE压缩器46
    • 4.5.4 SZIP压缩器46
    • 4.5.5 LZF压缩器47
    • 4.5.6 性能47
    • 4.6 其他过滤器48
    • 4.6.1 SHUFFLE过滤器48
    • 4.6.2 FLETCHER32过滤器49
    • 4.7 第三方过滤器50
    • 第5章 组、链接和迭代:HDF5的层次性51
    • 5.1 根组和子组51
    • 5.2 组的基本原理52
    • 5.2.1 字典风格的访问52
    • 5.2.2 特殊属性53
    • 5.3 使用链接53
    • 5.3.1 硬链接53
    • 5.3.2 剩余空间和重新打包55
    • 5.3.3 软链接55
    • 5.3.4 外部链接56
    • 5.3.5 对象名字注解58
    • 5.3.6 用get决定对象类型58
    • 5.3.7 用require简化你的应用程序59
    • 5.4 迭代和容器60
    • 5.4.1 组如何存储61
    • 5.4.2 字典风格的遍历61
    • 5.4.3 测试存在性62
    • 5.5 用Visitor模式多级遍历63
    • 5.5.1 以名字访问63
    • 5.5.2 多个链接和visit64
    • 5.5.3 访问对象65
    • 5.5.4 遍历中止:一个简单的搜索策略66
    • 5.6 复制对象66
    • 5.7 对象比较和哈希67
    • 第6章 用特征存储元数据69
    • 6.1 特征基本原理69
    • 6.1.1 类型猜测70
    • 6.1.2 字符串和文件匹配72
    • 6.1.3 Python对象73
    • 6.1.4 显式指定类型74
    • 6.2 真实世界的例子:粒子加速数据库76
    • 6.2.1 基于HDF5的应用格式76
    • 6.2.2 数据分析77
    • 第7章 更多关于类型79
    • 7.1 HDF5类型系统79
    • 7.2 整型和浮点80
    • 7.3 定长字符串81
    • 7.4 变长字符串81
    • 7.4.1 变长字符串的数据类型82
    • 7.4.2 变长字符串数据集的使用83
    • 7.4.3 字节字符串和Unicode字符串83
    • 7.4.4 使用Unicode字符串84
    • 7.4.5 不要在字符串中保存二进制数据85
    • 7.4.6 确保你Python 2程序的未来85
    • 7.5 复合类型85
    • 7.6 复数类型87
    • 7.7 枚举类型87
    • 7.8 布尔类型88
    • 7.9 数组类型89
    • 7.10 不透明类型90
    • 7.11 日期和时间91
    • 第8章 通过引用、类型和维度标尺来组织数据92
    • 8.1 对象引用92
    • 8.1.1 创建和解引用92
    • 8.1.2 引用是一种“永不失效”的链接93
    • 8.1.3 引用是一种数据94
    • 8.2 区域引用95
    • 8.2.1 创建和读取区域引用95
    • 8.2.2 复杂索引96
    • 8.2.3 用区域引用获得数据集96
    • 8.3 命名类型97
    • 8.3.1 数据类型对象97
    • 8.3.2 链接命名类型98
    • 8.3.3 管理命名类型98
    • 8.4 维度标尺98
    • 8.4.1 创建维度标尺99
    • 8.4.2 在数据集上添加标尺100
    • 第9章 HDF5并发性:多线程和多进程102
    • 9.1 Python并发的基本概念102
    • 9.2 多线程103
    • 9.3 多进程105
    • 9.4 MPI和并发HDF5108
    • 9.4.1 一个非常快速的MPI介绍108
    • 9.4.2 基于MPI的HDF5程序109
    • 9.4.3 集体操作和独立操作110
    • 9.4.4 原子操作模式111
    • 0章 下一步114
    • 10.1 寻求帮助114
    • 10.2 做出贡献115

    上一篇:精通Python自然语言处理(Deepti)  下一篇:Java语言程序设计:进阶篇

    展开 +

    收起 -

    Python数据分析 相关电子书
    关于Python数据分析的学习笔记

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明