Python&HDF5目录
最近一直没更新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
Python&HDF5目录的更多相关文章
- python模块目录文件后续
1,新增PythonModule加载path Ruiy tip(关于python list[]数据库类型特殊你懂的!append(""),extend([""] ...
- Python开发目录
Python开发目录 Python之三目运算符 Python之文件的基本操作
- Python——Django目录说明
一.Django安装好后,建立djangosite的开发项目 #django-admin startproject djangosite 二.djangosite目录内容 ''' djangosite ...
- Python爬虫目录
Python爬虫目录 工具使用 Pycharm 连接Linux 远程开发 mongodb在windows下安装启动 爬虫抓包工具Fiddle设置 爬虫抓包工具Charles设置 爬虫工具fiddle在 ...
- Python并发目录
Python并发目录 Python-socket网络编程 Python网络编程-IO阻塞与非阻塞及多路复用 Python进程-理论 Python进程-实现 Python进程间通信 Python进程池 ...
- 初学Python——软件目录结构规范
为什么要设计好目录结构? 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 可维护性高: 定义好组织 ...
- python 项目目录结构
目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构.在Stackoverflow的这个问题上,能看到大家对Python目录结构的讨论. 这里面说的已经很好了, ...
- python 查看目录下所有目录和文件
python查看目录下所有的子目录和子文件 python递归遍历目录结构 我喜欢第一种 方法1 import json, os def list_dir(path, res): for i in os ...
- 三行命令搞定查询Python安装目录
想为Python添加一个库文件到默认目录,却忘记了Python安装目录. 其实,只要用下面三行命令,就可以轻松得到Python安装路径了. 进入Python >>>import sy ...
随机推荐
- BeautifulSoup 模块详解
BeautifulSoup 模块详解 BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查找指定元素,从而使得在HT ...
- Vue 基础精讲
Vue 基础精讲 Vue 官方文档:https://cn.vuejs.org/v2/guide/ VUE 实例 每个组件都是一个 vue 的实例. 一个 vue 项目是由实例组成的. vue 实例上有 ...
- Eclipse中已安装的插件如何卸载
最近在Eclipse中安装了一个插件,导致Eclipse使用的时候有些问题,就找了资料,原来Eclipse中的插件也是可以卸载的. 方法是点击菜单“Help”,“Install New Softwar ...
- centos7 yum install timeout
https://yum.dockerproject.org/repo/main/centos/7/repodata/repomd.xml: [Errno 12] Timeout on https:// ...
- topcoder srm 410 div1
problem1 link 不包含$gridConnections$ 的联通块一定是连在所有包含$gridConnections$的联通块中最大的那一块上. import java.util.*; i ...
- TFS 报错解决方案:tf400324
同事的解决方案没报这个问题将他的C:\Windows\System32\drivers\etc\hosts文件覆盖自己的文件,主要备份自己的文件不行了替换掉
- 如何使用thinkphp的model来验证前端表单?
为了增加安全性, 在向model表中写入和修改数据时, 最好是调用 create方法来保证安全, 然后再调用add和save方法: if($Model->Validate($validate)- ...
- 三星固态硬盘ssd产品线收集
目录 三星ssd按时间展示: 三星ssd后缀带a与不带a的区别,举其中一例: 下面是从三星中国的官网截图的产品线: 产品线列表: 总结: 参考: 最近在淘宝看到了很多拆机ssd,三星作为世界上唯一一家 ...
- windows下使用LibreOffice的体验
我在家里一般是使用Ubuntu,学校这个网络需要e信拨号,还是只能用Windows主用,以前我在Ubuntu一直使用的是LibreOffice,这次看见学校电脑很乱了就重装了系统,MSOffice真的 ...
- oracle单行函数 之 数字函数
Round(数字 \ 列 [,保留小数的位数]):四舍五入 select Round(1234.45,1) from dual = 1234.5 Trunc(数字 \ 列 [,保留小数的位数] ...