TuShare(3):使用pandas 压缩存储hdf5文件

简介: 本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51025044 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys1,使用压缩hdf5在存储的是支持压缩,使用的方式是blosc,这个是速度最快的也是pandas默认支持的。 使用压缩可以提磁

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51025044 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,使用压缩


hdf5在存储的是支持压缩,使用的方式是blosc,这个是速度最快的也是pandas默认支持的。
使用压缩可以提磁盘利用率,节省空间。
开启压缩也没有什么劣势,只会慢一点点。
压缩在小数据量的时候优势不明显,数据量大了才有优势。
同时发现hdf读取文件的时候只能是一次写,写的时候可以append,可以put,但是写完成了之后关闭文件,就不能再写了,
会覆盖。

2,使用压缩方式写文件


import numpy as np
import pandas as pd
#生成9000,0000条数据,9千万条
a = np.random.standard_normal((90000000,4))
b = pd.DataFrame(a)
#普通格式存储:
h5 = pd.HDFStore('/data/stock/test_s.h5','w')
h5['data'] = b
h5.close()

#压缩格式存储
h5 = pd.HDFStore('/data/stock/test_c4.h5','w', complevel=4, complib='blosc')
h5['data'] = b
h5.close()

对比文件大小:

-rw-r--r--. 1 root root 2.7G Mar 31 11:20 test_c4.h5
-rw-r--r--. 1 root root 3.4G Mar 31 11:19 test_s.h5

省了700mb空间。

3,总结


本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51025044 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

pandas官网有CookBook。
http://pandas.pydata.org/pandas-docs/stable/cookbook.html
对比CSV文件格式,hdf5支持按照key寻找,可以直接把股票id作为key寻找。比较hdf5是结构化的数据格式,而csv还是个文本。
比数据库方式效果高多了,读写很快。
对于金融,股票系统。还是直接读写文件来的方便。
按照日期和股票id进行两个分区。而且后期迁移的时候直接可以迁移到hadoop 上面,也非常容易呢。

目录
相关文章
|
8月前
|
存储 JSON 关系型数据库
Pandas载入txt、csv、Excel、JSON、数据库文件讲解及实战(超详细 附源码)
Pandas载入txt、csv、Excel、JSON、数据库文件讲解及实战(超详细 附源码)
154 0
|
数据挖掘 Python
【Python】数据分析:结构化数分工具 Pandas | Series 与 DataFrame | 读取CSV文件数据
【Python】数据分析:结构化数分工具 Pandas | Series 与 DataFrame | 读取CSV文件数据
86 1
|
5月前
|
Python
[pandas]从多个文件中构建dataframe
[pandas]从多个文件中构建dataframe
|
6月前
|
存储 数据可视化 数据处理
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
|
6月前
|
存储 消息中间件 数据挖掘
Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。
【7月更文挑战第5天】Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。示例代码展示了从Kafka消费数据,计算社交媒体活跃度和物联网设备状态,并可视化结果。适用于监控、故障检测等场景。通过学习和实践,提升实时数据分析能力。
152 0
|
8月前
|
数据挖掘 数据处理 索引
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
240 1
|
8月前
|
数据采集 数据挖掘 数据处理
Python数据分析实战:使用Pandas处理Excel文件
Python数据分析实战:使用Pandas处理Excel文件
264 0
|
8月前
|
数据采集 存储 Web App开发
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
|
8月前
|
存储 SQL 关系型数据库
Pandas与数据库交互:实现高效数据交换与存储
【4月更文挑战第16天】本文介绍了Pandas与数据库交互的方法,包括使用`read_sql`和`to_sql`函数连接SQLite、MySQL等数据库。为了提升数据交换效率,建议采用批量操作、优化SQL查询和使用事务。在数据存储优化方面,选择合适的数据类型、压缩数据以及使用分区或分片都是有效策略。通过这些方法,可实现Pandas与数据库间高效、可靠的数据处理和分析。
|
存储 数据处理 索引
Pandas读取Excel文件内容的方法使用正确的指南
Pandas读取Excel文件内容的方法使用正确的指南