私はPandasライブラリを使用してリモートセンシング時系列解析を行っています。最終的には、チャンクサイズを使用してDataFrameをcsvに保存したいのですが、少し問題があります。私のコードは、私がPandas Seriesに変換する6個のNumPy配列を生成します。これらのシリーズのそれぞれは、私はパンダDataFram(DF)にシリーズを追加したい項目パンダを使用してSeriesでDataFrameを作成すると、メモリエラーが発生する
>>> prcpSeries.shape
(12626172,)
の多くが含まれているので、私は、CSVファイルにチャンクによって彼らにチャンクを保存することができます。
d = {'prcp': pd.Series(prcpSeries),
'tmax': pd.Series(tmaxSeries),
'tmin': pd.Series(tminSeries),
'ndvi': pd.Series(ndviSeries),
'lstm': pd.Series(lstmSeries),
'evtm': pd.Series(evtmSeries)}
df = pd.DataFrame(d)
outFile ='F:/data/output/run1/_'+str(i)+'.out'
df.to_csv(outFile, header = False, chunksize = 1000)
d = None
df = None
しかし、私のコードは、メモリエラー
df = pd.DataFrame(d)
任意の提案を与え、次の行で動けなくなりますか?チャンスでパンダのDataFrameチャンクを埋めることは可能ですか?
あなたは、単一の列からのデータフレームを作ることができ、ここでの代替は、データフレームとしてそれぞれを作成し、外側(
concat
を使用)の参加を実行することです({'tmax':pd.Series(tmaxSeries)})? –はい、それは – Mattijn
最初のシリーズでフレームを作成し、連続して追加します。 '' df = DataFrame({'prcp':pd.Series(prcpSeries)}); df ['tmax'] = pd.Series(tmaxSeries) ''。あなたはおそらくそれをHDF5に書かなければなりません。http://pandas.pydata.org/pandas-docs/dev/io.html#hdf5-pytables – Jeff