簡體   English   中英

從 hdf5 文件到 csv 文件與 Python

[英]From hdf5 files to csv files with Python

我必須處理 hdf5 文件。 它們中的每一個都包含可以加載到由 100 列和近 5E5 行組成的 pandas DataFrame 中的數據。 每個 hdf5 文件重約 130MB。

所以我想從 hdf5 文件中獲取數據,然后應用一些處理,最后將新數據保存在 csv 文件中。 就我而言,該過程的性能非常重要,因為我將不得不重復它。

到目前為止,我一直專注於 Pandas 和 Dask 來完成工作。 Dask 有利於並行化,我將通過更強大的 PC 和更多 CPU 獲得良好的處理時間。

但是你們中的一些人已經遇到過這個問題並找到了最佳優化?

正如其他人在評論中提到的那樣,除非您必須將其移至 CSV,否則我建議將其保留在 HDF5 中。 但是,如果您必須執行轉換,下面將描述如何執行此操作。

聽起來您有一個 function 用於將 HDF5 文件加載到 pandas 數據幀中。 我建議使用dask 的延遲API 創建延遲 pandas 數據幀列表,然后將它們轉換為 dask 數據幀。 下面的片段是從鏈接頁面復制的,並添加了一行以保存到 CSV。

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()文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM