首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用odo转换熊猫hdfstore时维护数据列

使用odo转换熊猫hdfstore时维护数据列
EN

Stack Overflow用户
提问于 2015-05-26 22:54:40
回答 1查看 494关注 0票数 2

我正在使用烈火项目中的odo来合并多个熊猫hdfstore表,按照这个问题中的建议:连接两个大型pandas.HDFStore HDF5文件

这些商店有相同的栏和不重叠的标志,从设计和几百万行。单独的文件可能会被放入内存中,但是合并后的文件可能不会。

有什么方法可以保留创建hdfstore的设置吗?我松散了数据列和压缩设置。

我试过没有运气的odo(part, whole, datacolumns=['col1','col2'])

另外,如能就其他方法提出任何建议,将不胜感激。当然,我可以手动完成这个操作,但是为了不耗尽内存,我必须管理chunksizing。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-27 10:41:04

odo不支持compression和/或data_columns ATM的传播。这两者都很容易添加,我创建了一个问题这里

您可以在pandas中这样做:

代码语言:javascript
复制
In [1]: df1 = DataFrame({'A' : np.arange(5), 'B' : np.random.randn(5)})

In [2]: df2 = DataFrame({'A' : np.arange(5)+10, 'B' : np.random.randn(5)})

In [3]: df1.to_hdf('test1.h5','df',mode='w',format='table',data_columns=['A'])

In [4]: df2.to_hdf('test2.h5','df',mode='w',format='table',data_columns=['A'])

迭代输入文件。块读/写到最后一家商店。请注意,您还必须在这里指定data_columns

代码语言:javascript
复制
In [7]: for f in ['test1.h5','test2.h5']:
   ...:     for df in pd.read_hdf(f,'df',chunksize=2):
   ...:         df.to_hdf('test3.h5','df',format='table',data_columns=['A'])
   ...:         

In [8]: with pd.HDFStore('test3.h5') as store:
    print store
   ...:     
<class 'pandas.io.pytables.HDFStore'>
File path: test3.h5
/df            frame_table  (typ->appendable,nrows->1,ncols->2,indexers->[index],dc->[A])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30470352

复制
相关文章

相似问题

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