測定値から、基本的に寸法が 1000x1000 の浮動小数点数のテーブルを含むテキスト ファイルを取得します。これらは約 15MB のスペースを占有します。一連の結果ファイルが約 1000 個得られることを考えると、保存するのは受け入れられません。そのため、データを失うことなく、可能な限りそれらを圧縮しようとしています。私の考えは、予想される範囲で数値を〜1000ステップにグループ化し、それらを保存することです。これで十分な解像度が得られます。ただし、まだ 1.000.000 ポイントを考慮する必要があるため、結果のファイルはまだ約 4MB です。おそらくそれ以上圧縮することはできませんか?より大きな問題は、これにかかる計算時間です。現時点では、ファイルごとに 10 ~ 12 秒と見積もっています。つまり、1000 ファイルの場合は約 3 時間です。うわぁぁぁぁぁぁぁぁぁぁぁぁ。これは私が考えたアルゴリズムですが、何か提案はありますか? そこには'
import numpy
data=numpy.genfromtxt('sample.txt',autostrip=True, case_sensitive=True)
out=numpy.empty((1000,1000),numpy.int16)
i=0
min=-0.5
max=0.5
step=(max-min)/1000
while i<=999:
j=0
while j<=999:
k=(data[i,j]//step)
out[i,j]=k
if data[i,j]>max:
out[i,j]=500
if data[i,j]<min:
out[i,j]=-500
j=j+1
i=i+1
numpy.savetxt('converted.txt', out, fmt="%i")
あなたが提供できるヒントを事前にありがとう!ヤコブ