首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python从hdf5文件到csv文件

使用Python从hdf5文件到csv文件
EN

Stack Overflow用户
提问于 2021-02-22 04:23:23
回答 1查看 179关注 0票数 0

我必须处理hdf5文件。它们中的每一个都包含可以加载到由100列和近5E5行组成的pandas DataFrame中的数据。每个hdf5文件重约130MB。

因此,我想从hdf5文件中获取数据,然后应用一些处理,最后将新数据保存到csv文件中。在我的例子中,过程的性能非常重要,因为我必须重复它。

到目前为止,我一直专注于Pandas和Dask来完成这项工作。Dask对并行化很有好处,我会在更强大的PC和更多的CPU上获得更好的处理时间。

然而,你们中的一些人已经遇到了这个问题,并找到了最好的优化方案?

EN

回答 1

Stack Overflow用户

发布于 2021-02-23 01:35:11

正如其他人在评论中提到的那样,除非你必须将其移至CSV,否则我建议将其保留在HDF5中。但是,如果您确实需要执行转换,下面将说明您可能会如何执行此操作。

听起来像是有一个函数可以将HDF5文件加载到pandas数据框中。我建议使用dask应用程序接口创建延迟的熊猫数据帧列表,然后将它们转换为dask's delayed数据帧。下面的截图是从链接页面复制的,并添加了要保存到CSV的行。

代码语言:javascript
运行
复制
import dask.dataframe as dd
from dask.delayed import delayed

from my_custom_library import load

filenames = ...
dfs = [delayed(load)(fn) for fn in filenames]

df = dd.from_delayed(dfs)
df.to_csv(filename, **kwargs)

有关保存到CSV的选项的信息,请参阅dd.to_csv()文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66306749

复制
相关文章

相似问题

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