问题:
1如何选择行(伪代码):列‘Name’=‘Name_A’(Name_A只是一个例子)&列“时间”、(2021-11-2100:00:00,2021-11-22-00:00:00)。
我将大约40亿行数据存储到一个hdf5文件中。
现在,我想选择一些数据。
我的代码如下:
import pandas as pd
ss = pd.HDFStore("xh_data_L9.hdf5") #<class 'pandas.io.pytables.HDFStore'>
print(type(ss))
print(ss.keys())
s_1 = ss.select('alldata',start=0,stop=500) # data example
print(s_1)
ss.close()我发现HDFStore.select的用法如下:
HDFStore.select(key, where=None, start=None, stop=None, columns=None, iterator=False, chunksize=None, auto_close=False)# can not run success.
s_3 = ss.select('alldata',where="Time>2021-11-21 00:00:00 & Time<2021-11-22 00:00:00)")
s_3 = ss.select('alldata',['Name'] == 'Name_A') 我有谷歌的一些方法,但不知道如何使用“哪里”
发布于 2022-07-21 07:07:38
我发现原因是文件创建时是否建立了data_columns。
#this method created hdf5 don't have data_columns
ss.append('store',df_temp,index=True)
#this method created hdf5 have data_columns
store.append("store", df_temp, format="table", data_columns=True)
#query whether include data_columns
import pandas as pd
ss = pd.HDFStore("store.hdf5")
print(ss.info())如果结果包括“dc->时间、名称、值”。
ss.select("store",where="Name='Name_A'")
#Single quotation marks are required before and after the varies.以下是data_columns的官方网站解释:
data_columns :
list of columns, or True, default None
List of columns to create as indexed data columns for on-disk
queries, or True to use all columns. By default only the axes of the object are indexed.
See here <https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#query-via-data-columns>.https://stackoverflow.com/questions/73047390
复制相似问题