【发布时间】:2012-12-05 06:04:22
【问题描述】:
如何从 pandas HDFStore 中检索特定列?我经常处理非常大的数据集,这些数据集太大而无法在内存中进行操作。我想迭代地读取一个 csv 文件,将每个块附加到 HDFStore 对象中,然后处理数据的子集。我已经阅读了一个简单的 csv 文件并将其加载到 HDFStore 中,代码如下:
tmp = pd.HDFStore('test.h5')
chunker = pd.read_csv('cars.csv', iterator=True, chunksize=10, names=['make','model','drop'])
tmp.append('df', pd.concat([chunk for chunk in chunker], ignore_index=True))
还有输出:
In [97]: tmp
Out[97]:
<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
/df frame_table (typ->appendable,nrows->1930,indexers->[index])
我的问题是如何从tmp['df'] 访问特定列?该文档提到了 select() 方法和一些 Term 对象。提供的示例适用于面板数据;但是,我太新手了,无法将其扩展到更简单的数据框案例。我的猜测是我必须以某种方式创建列的索引。谢谢!
【问题讨论】: