Python 和 HDF 5大資料應用

科萊特(Andrew Collette)

買這商品的人也買了...

商品描述

<內容簡介>

隨著Python應用領域的拓展,越來越多的人將Python用於處理大型數值數據集,使用標準格式來進行數據的存儲和通信也顯得越來越重要,而HDF5也正迅速成為人們存儲科學數據的選擇。
本書向任何有Python數據分析基本背景的人介紹如何在Python下使用HDF5。本書將著重於HDF5的本地功能集,而不是Python的高層抽象。熟悉Python和NumPy的讀者,更容易閱讀和掌握本書的內容。
本書適合有一定基礎的Python開發者,尤其適合要使用Python開發數據存儲和處理等相關應用的讀者閱讀參考。

 

<章節目錄>

1章簡介1
1.1Python和HDF52
1.1.1數據和元數據的組 ​​織2
1.1.2大數據複製3
1.2HDF5到底是什麼4
1.2.1HDF5文件規格5
1.2.2HDF5標準庫6
1.2.3HDF5生態系統6
第2章開始使用7
2.1HDF基本原理7
2.2設置8
2.2.1Python2還是Python38
2.2.2代碼示例9
2.2.3NumPy 9
2.2.4HDF5和h5py 11
2.2.5IPython 11
2.2.6時間和優化12
2.3HDF5工具13
2.3 .1HDFView 13
2.3.2ViTables 14
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.2start—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何時以及如何進行resize 37
第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.3GZIP/DEFLATE壓縮器46
4.5 .4SZIP壓縮器46
4.5.5LZF壓縮器47
4.5.6性能47
4.6其他過濾器48
4.6.1SHUFFLE過濾器48
4.6.2FLETCHER32過濾器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多個鏈接和visit 64
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.3Python對象73
6.1.4顯式指定類型74
6.2真實世界的例子:粒子加速數據庫76
6.2.1基於HDF5的應用格式76
6.2.2數據分析77
第7章更多關於類型79
7.1HDF5類型系統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確保你Python2程序的未來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.4MPI和並發HDF5108
9.4.1一個非常快速的MPI介紹108
9.4.2基於MPI的HDF5程序109
9.4.3集體操作和獨立操作110
9.4.4原子操作模式111
第10章下一步114
10.1尋求幫助114
10.2做出貢獻115

 

<作者介紹>

作者:[美]科萊特(Andrew Collette)譯者:胡世傑
Andrew Collette擁有UCLA的物理學博士,目前是科羅拉多大學的實驗室研究科學家,並且他獲得了UCLA的物理學博士學位。他已經在兩台幾百萬美元的研究設備上用Python-NumPy-HDF5進行過科學分析。他是HDF5 for Python(h5py)項目的開發領袖。