私はいくつかの値が各反復で作成されるプロシージャを実行しています(値はあまりありません。反復ごとに〜50個の値しかありません。文字列ですが、大部分は2〜3桁の整数です)。約3000回の反復があります。Python Pandasは連結するデータフレームの長いリストを作成します
今、私はパンダのデータフレームを使用して、それらの〜50の値を所定の反復で保存し、次にdfをデータフレームのリスト(dflist)に追加し、3Kの反復がすべて完了したら、3Kデータフレームを連結します彼らはすべてのようなものを使用して)同じ列名を持っているので:
df_final = pd.concat(dflist、軸= 0)
は例えば、この手順を行うには良い方法はあります。 numpyの配列を使用し、軸0に沿って値を追加し、最後に完全なnumpy配列を与えられた列名でPandasデータフレームに変換しますか?
多くの繰り返し(〜200のうち〜200)の後、コードが大幅に減速し、システムメモリの使用がゆっくりと這い上がり、反復の間に、私のすべての値が各繰り返しの後に成長する唯一のものと思われるこのパンダのデータフレームのリストを除き、各繰り返しに上書きされます。私はPython 2.7を使用しています。この動作は、Spyder GUIでスクリプトを実行した場合、またはコマンドラインからスクリプトを実行した場合に発生します。
他のもの:私が実際に保存する値は比較的小さい(反復ごとに50個の値)が、それらの要約値を抽出するためのデータは非常に大きいです。元のcsvは〜10 GBで〜200millionの行があり、私はそれを約50K行である与えられたchunkksizeでpd.read_csvを使ってチャンクします。そして、50Kの線については、私は約50の値を得ます。しかし、私は、それぞれのチャンクは独立していると思っていたでしょう。
例DF:
CHFAC Bygoper Change MinB NumB NumCombos Total
0 abc3 574936022 + 1 1 1 11
1 abc3 574936022 - 1 0 0 0
2 abc3 574936022 + 2 1 1 11
3 abc3 574936022 - 2 0 0 0
4 abc3 574936022 + 5 1 1 11
5 abc3 574936022 - 5 0 0 0
6 abc3 574936022 + 10 1 1 11
7 abc3 574936022 - 10 0 0 0
あなたが連結しているサンプルを1つまたは2つ表示すると、あなたのポストに基づいてインデックス数やインデックスなどがわかりにくいです。 –