PythonHDF5目录
最近一直没更新python&量化的博客,是因为忙于看HDF5的书,写VNPY框架,学scrapy爬虫。
本来写博客的目的就是为了当作一种教材,当遇到不会的问题过来找答案。
对于HDF5下面这本书写的很详细了,国内针对HDF5的教材少之又少,python这块应该只有这一本。
大概说下,为什么用HDF5吧。一般股票或期货的历史K线数据都会使用MySql或MongoDB(VNPY用的它),但是有下面两个缺点:
1、速度:不管是mysql还是Mongodb的读写都存在进程间通信的问题,不同进程间无法直接通讯,需借助其他工具,这就会增加读写时间。
2、大小:由于数据库(尤其是关系型数据库)在保存数据信息时,还会插入一些关系数据等信息,一同保存进入文件,对股票历史k线数据,这种高度结构化的数据,这些关系数据本身是没用的。额外了占用了存储空间。
HDF5优点:
1、速度:直接从硬盘读入内存,绕开了进程间通讯,速度极快。同时它支持切片读取,即不需要把整个dataset读入内存,只读取切片即可。速度和大小都有优化
2、大小:把股票历史数据的dataframe数据作为dataset存入HDF5,列名和索引作为元数据存入HDF5,这样基本上HDF5里没有了与数据不相关的内容,加之其可以使用GZIP和LZF压缩过滤器,在牺牲一部分写入速度的同时,大大减小了存储空间。
大家如果想看的话,就买这本书吧,内容挺全的,基本上能覆盖日常的应用。京东上有卖。
最后附上该书的目录xmind文件:
https://files.cnblogs.com/files/GavinSimons/Python%26HDF5.rar
转载于:https://www.cnblogs.com/GavinSimons/p/8338470.html
PythonHDF5目录相关推荐
- http://blog.csdn.net/neiloid/article/details/7037093#
1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...
- zip压缩多个文件,解压时不包含目录层级
假设我们有个目录叫 dev,dev中有很多文件,我们想要将dev中的文件打包,名字可能叫dev.zip,但当我们解压的时候,不想要解压生成一个dev目录,想要直接解压在当前目录,这样如何压缩呢? # ...
- 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录
将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...
- Go 学习笔记(84)— Go 项目目录结构
1. 目录规范 一个好的目录结构至少要满足以下几个要求. 命名清晰:目录命名要清晰.简洁,不要太长,也不要太短,目录名要能清晰地表达出该目录实现的功能,并且目录名最好用单数.一方面是因为单数足以说明这 ...
- GCC 连接器、链接标准库 gcc -l、链接手动创建库(指定目录的库 gcc -L)
1. 链接器 链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件. 在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等 ...
- Go 语言同一个包内函数调用、包名和实际路径最后一个目录不一致问题
以下代码的 GOPATH 路径为 "/home/wohu/GoCode" 1. 同一个包内的函数可以相互调用 代码结构如下: wohu@wohu:~/GoCode/src$ tre ...
- Linux shell 学习笔记(1)— 文件和目录(查看、创建、复制、软硬链接、重命名及删除操作)
1. 启动 shell /etc/passwd 文件包含了所有系统用户账户列表以及每个用户的基本配置信息: christine:x:501:501:Christine Bresnahan:/home/ ...
- Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)
1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...
- Docker 入门系列(4)- Docker 数据管理(挂载目录、挂载文件、数据卷挂载、数据卷共享、数据卷删除、数据卷容器备份和恢复)
基于底层存储实现,Docker 提供了三种适用于不同场景的文件系统挂载方式:Bind Mount.Volume 和 Tmpfs Mount. Bind Mount 能够直接将宿主操作系统中的目录和文件 ...
- 解决LC_ALL: 无法改变区域选项 (UTF-8): 没有那个文件或目录的问题
问题: -bash: 警告:setlocale: LC_ALL: 无法改变区域选项 (UTF-8): 没有那个文件或目录 -bash: 警告:setlocale: LC_ALL: 无法改变区域选项 ( ...
最新文章
- HTTP [TCP Retransmission] Continuation or non-HTTP traffic[Packet size limited during capture]
- Jmeter连接到Mysql
- (零)音视频技术基础知识,现实项目
- Java实例化后自动执行_Java的实例化顺序(程序执行顺序)
- mysql 两张大表关联_MySQL的DropTable影响分析和最佳实践
- STM8学习笔记---PWM互补波形输出
- 在head标签内css代码,怎么在head区域引入css
- SQLLoader2(导入EXCEL或csv格式的文件)
- 170705、springboot编程之自定义properties
- 计算机如何实现截长图功能,只会Ctrl+Alt+A?告诉你电脑截长图的5大方法
- 华为手机 图标消失_华为手机桌面图标不见了怎么办
- 华三交换机如何进入配置_华三交换机配置方法及操作案例
- 电路板上的插头怎么拔下来_怎么从电路板上拆卸多针脚电子元器件
- 【Nginx】记录 nginx 配置文件中 location下根据 ua (user-agent) 判断移动端和电脑端不同浏览器来源
- 特殊符号♪♫♩♬♭♪♫♩♬♭
- PostgreSQL测试套-pg_regress使用
- 字符数组 字符插入(c语言)
- js 时间与时间戳的转换
- 256色图像不一定是灰度图像
- 2017上海大学计算机考研分数线,2017年上海大学考研复试分数线以及复试通知
热门文章
- 使用StatSVN编译代码变更(未成功)
- NV21转YUV420SP的代码
- Migrate Project to Gradle? This project does not use the Gradle build system
- 用shell把所有文件名修改为小写
- 保留正常工作的环境,等自己的搞好后再替换
- TensorRT同时加载多个模型很容易崩溃
- 想起“不能什么都是你来干”
- UBUNTU上安装OPENSIPS
- C++/CLI C#字符串转为C++字符串正确写法
- html flash背景透明写法,如何让Flash不遮挡HTML div元素的技巧