私は現在、より効率的にするためにいくつかのPythonコードを書き直しています。後で再利用/操作できるように、Python配列を保存することについて質問があります。
CSVファイルに保存された大量のデータがあります。各ファイルには、関心のあるデータのタイムスタンプ付きの値が含まれており、数千万のデータポイントを処理する必要があります。データが非常に大きくなったため、処理時間が過剰で非効率的です---現在のコードの記述方法では、新しいデータが追加されるたびにデータセット全体を再処理する必要があります。
私がしたいのはこれです:
- 既存のすべてのデータをPython配列に読み込みます
- 変数配列をある種のデータベース/ファイルに保存します
- 次に、さらにデータが追加されたときに、データベースをロードし、新しいデータを追加して、再保存します。このように、一度に処理する必要があるデータはごくわずかです。
- 保存したデータは、他のPythonスクリプトからアクセスできるようにするだけでなく、OriginProやExcelなどのプログラムで処理できるように、かなり「人間が読める」形式にする必要があります。
私の質問は、データを保存するのに最適な形式は何ですか?HDF5は、私が必要とするすべての機能を備えているようですが、SQLiteのようなものの方が理にかなっていますか?
編集:私のデータは一次元です。私は基本的に(数百万、1)サイズの30個のアレイを持っています。ポイントが多すぎるという事実がなければ、CSVは理想的なフォーマットになります!単一のエントリのルックアップを実行する可能性は低いです---データの小さなサブセット(たとえば、過去100時間、または過去1000時間など)をプロットしたい場合があります。