首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HDFStore.select屏幕数据

如何使用HDFStore.select屏幕数据
EN

Stack Overflow用户
提问于 2022-07-20 07:13:47
回答 1查看 48关注 0票数 0

问题:

1如何选择行(伪代码):列‘Name’=‘Name_A’(Name_A只是一个例子)&列“时间”、(2021-11-2100:00:00,2021-11-22-00:00:00)。

我将大约40亿行数据存储到一个hdf5文件中。

现在,我想选择一些数据。

我的代码如下:

代码语言:javascript
复制
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的用法如下:

代码语言:javascript
复制
HDFStore.select(key, where=None, start=None, stop=None, columns=None, iterator=False, chunksize=None, auto_close=False)
代码语言:javascript
复制
# 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')  

我有谷歌的一些方法,但不知道如何使用“哪里”

代码和结果

EN

回答 1

Stack Overflow用户

发布于 2022-07-21 07:07:38

我发现原因是文件创建时是否建立了data_columns。

代码语言:javascript
复制
#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->时间、名称、值”。

代码语言:javascript
复制
ss.select("store",where="Name='Name_A'")
#Single quotation marks are required before and after the varies.

以下是data_columns的官方网站解释:

代码语言:javascript
复制
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>.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73047390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档