我有以下熊猫数据帧:
import pandas as pd
df = pd.read_table('fname.dat')
因此,我创建/打开一个现有的HDFStore文件:
^{pr2}$为了索引列的子集,我只需使用
store.append('key_name', df, data_columns=['colA','colB','colZ'])
显然,HDFStore.append()
以table
格式为默认保存pandas数据帧。但是,它看起来实际上是一个“frame_table”对象:
store
输出
/key_name frame_table (typ->appendable,nrows->3254334,ncols->14,indexers->[index],dc->[colA, colB, colZ])
如何有效地索引此对象?在
通常,查询将是
result = [row for row in table.where('colA==22 & colB==45')]
但是对于一个frame_table
对象,会这样做吗?在
frame_table
-表示它是以table
格式保存的数据帧。在当使用
data_columns=['colA','colB','colZ']
参数时,您已经“索引”['colA','colB','colZ']
列。在因此,现在可以按如下方式查询HDFStore:
或者,您可以使用
pd.read_hdf(...)
,而不是store.select(...)
如果你能提供一个样本和所需的数据集,答案可能会更简洁。。。在
相关问题 更多 >
编程相关推荐