用HDF5文件存储和读取数据(附程序代码)
HDF5是一种流行的开源文件格式,用于存储和组织大规模数据,它的优点是组织良好、压缩高效。pytables 是pandas读取和写入HDF5文件格式所需的库,所以在保存或读取HDF5格式的数据时,需要先安装这个库。安装方法是打开Anaconda Prompt,在命令行下激活先前创建的虚拟环境,然后执行以下代码:
conda install pytables
Anaconda Prompt 及虚拟环境的设置请参看《本地Python环境部署》这一节的内容。
在下面的例子中,我们从AKShare数据源中获取浦发银行(代码:600000)从2020年1月1日到2022年12月31日的日频行情数据,然后演示如何将数据保存为HDF5文件,以及如何从HDF5文件中读取数据。
本例需要事先从AKShare库获取数据,具体可参照《如何用AKShare获取金融数据》一节的内容。
- 从AKShare中获取数据:
import akshare as ak # 导入akshare数据源
df = ak.stock_zh_a_hist(symbol=”600000″, period=”daily”, start_date=”20200101″, end_date=’20221231′, adjust=””) # 通过akshare接口获取数据
print(df) # 输出数据查看
上述代码中 ak.stock_zh_a_hist 是 AKShare 从东方财富网获取股票历史行情数据的函数,函数的参数:symbol=”600000″ 为股票代码,period=”daily”为获取日频数据,start_date 和 end_date 为数据的开始日期和结束日期,adjust=”” 为默认返回不复权的数据。关于接口函数的更多信息请参见AKShare官网。
获得的数据为 DataFrame 格式,DataFrame是一个由行和列组成的二维结构的表格,与Excel中的电子表格类似。数据的输出结果如下: - 可以看到数据表有日期、开盘、收盘、最高、最低、成交量、成交额、振幅、涨跌幅、涨跌额、换手率这几列数据,总共有728行,每一行为一个交易日的数据。
- 将数据保存为HDF5文件:
file_path = ‘d:temp/600000.h5’ # 设置文件保存的路径和文件名
df.to_hdf(file_path, key=’df’, mode=’w’) # 将数据表格df保存为HDF5文件
df.to_hdf()函数用于将表格df保存为HDF5文件,参数 file_path 为保存的文件路径和文件名;key=’df’ 将HDF5文件中DataFrame的键值设置为‘df’, mode=’w’ 为写入模式。代码运行后到指定文件夹就能看到保存好的文件。 - 从HDF5文件读取数据:
import pandas as pd # 导入pandas
df = pd.read_hdf(file_path) # 从指定文件位置file_path导入表格数据
print(df) # 输出数据查看
pd.read_hdf()函数用于读取HDF5文件,参数 file_path 为指定的文件路径和文件名。
发布者:爱吃肉的小猫,转载请注明出处:https://www.95sca.cn/archives/46071
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!