24

DataFrame のシリアル化を行う簡単な方法はありますか?

パンダ分析を並行して実行できるグリッドシステムがあります。最後に、各グリッド ジョブからすべての結果を (DataFrame として) 収集し、それらを巨大な DataFrame に集約したいと考えています。

高速にロードできるバイナリ形式でデータ フレームを保存するにはどうすればよいですか?

4

3 に答える 3

24

最も簡単な方法は、to_pickleを( pickleとして) 使用することです。docs api ページの pickling を参照してください。

df.to_pickle(file_name)

もう 1 つのオプションは、HDF5を使用することです。これは、作業を開始するのに少し手間がかかりますが、クエリの機能が大幅に向上します。

于 2013-06-06T20:46:28.447 に答える
5

DataFrame.to_msgpackは実験的なものであり、Unicode などの問題がないわけではありませんが、ピクルス化よりもはるかに高速です。約 2 秒で 2 ~ 3 Gb のメモリを消費する 500 万行のデータフレームをシリアル化し、結果のファイルは約 750 Mb になりました。読み込みはやや遅くなりますが、解凍よりもはるかに高速です。

于 2015-01-27T03:02:40.773 に答える
1

利用可能なio 関数の時間を計測する必要がありますか? バイナリは自動的に高速になるわけではなく、私の知る限り、HDF5 は非常に高速なはずです。

于 2013-06-06T20:45:49.443 に答える