当从CSV中查询内存数据的子集时,我总是这样做:
df = pd.read_csv('data.csv', chunksize=10**3)
chunk1 = df.get_chunk()
chunk1 = chunk1[chunk1['Col1'] > someval]
for chunk in df:
chunk1.append(chunk[chunk['Col1'] >someval])
我最近开始尝试使用HDF5,并且无法做到这一点,因为TableIterator对象没有get_chunk()
方法或接受next()
。
df = pd.read_hdf('data.h5', chunksize=10**3)
df.get_chunk()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-19-xxxxxxxx> in <module>()
----> 1 df.get_chunk()
AttributeError: 'TableIterator' object has no attribute 'get_chunk'
有什么绕过的办法吗?(我知道可以使用Pandas从磁盘上的hdf5数据库中查询,但是为了这个目的,我想尝试这种方式)