从 Pandas HDF5 商店检索日期范围

Posted

技术标签:

【中文标题】从 Pandas HDF5 商店检索日期范围【英文标题】:Retrieving date range from Pandas HDF5Store 【发布时间】:2019-01-17 13:13:36 【问题描述】:

我希望使用 Pandas 从我的 HDFStore 中选择一个日期范围。我注意到我的日期时间(毫秒频率)存储为带有额外右填充零的 Unix 时间,即 1514797200002000000。我怀疑我的 where 子句不正确。

这是我的可重现代码:

import pandas as pd
import numpy as np

path_file = "hdf5_store.h5"
data = np.random.randn(5)
cols = ["values"]
date_range = pd.date_range('20180101 09:00:00', periods=5, freq='ms')
df = pd.DataFrame(data=data, index=date_range, columns=cols)

with pd.HDFStore(path_file, mode="w", driver="H5FD_CORE") as store:
        store.append("df", df, format="table", data_columns=["date_time"], index=False)
        store.create_table_index("df", columns=["date_time"], kind="full")
        print(store["df"])

df1 = pd.read_hdf(path_file, "df", where=["date_time>1514797200002000000"])
print(df1)

【问题讨论】:

【参考方案1】:

这是一个查询:

dt = pd.to_datetime(1514797200003000000)
df1 = pd.read_hdf(path_file, "df", where=["index>dt"])

【讨论】:

以上是关于从 Pandas HDF5 商店检索日期范围的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中查找 HDF5 文件组/键?

从 pandas 的时间序列范围中查找最小和最大日期

遍历 Pandas Dataframe 中定义的日期时间索引范围

Pandas HDF5 作为数据库

如何在 laravel php 中使用 ajax 根据日期范围从 mysql 数据库中检索数据?

使用 Java 从 HDF5 文件中的 NetCDF 字符数组变量中检索一维数组