環境
window10 home
anaconda3
事前に計算させて辞書型に保存していた値をpandasを使ってデータフレームにした後
エクセルとして保存させるプログラムを実行させていたのですが
その作業が時間を追う毎に凄く遅くなっていきます
保存させる時のコードは下記です
python
1cols = ["3時傾き", "日傾き", "組み合わせA", "組み合わせB", "合計値", "最大持ち越し回数", 2"総回数", "勝ち数", "負け数", "勝率"] 3df = pd.DataFrame(index=[], columns = cols) 4for n, value in enumerate(summary_temp.values()): 5 #print(n) 6 all_value = pd.Series(value, index=df.columns) 7 df.loc[n+1] = all_value 8df.to_csv(保存先省略)
このコードの前にsummary_tempという辞書型にとある計算をさせた一つのキーに対して10個の値を代入します
辞書型の長さはlen関数で測れば大体20万の長さがある物です
一つの辞書型の変数を作りだしエクセルとして保存する1ループに大体40,50分くらいかかっていました
※この20万の長さの辞書型の保存作業は組み合わせAと組み合わせBを変えて合計で大体80回くらいループさせます
最初の内はハッキリ目視してないのでどの程度かわからないのですが保存作業自体はすぐに終わっていたはずです
しかしその後4,5ループ目辺りからスピードが異常に遅くなり調べた所
辞書型に計算結果を代入させる計算作業自体は恐らくスピードは変わっていませんでしたが
エクセルとして保存する部分の上記のコードでprint(n)を付けてどの位のスピードでやっているのか確認したら
時間が経つ毎にスピードが異常に遅くなっているのを確認しました
※保存する作業だけで2,3時間はかかりそうな程遅いスピードです
上の方法以外ですぐに保存できる方法を教えていただけないでしょうか
それとこれは可能であればでいいのですが
何故上記のコードだと最初2,3ループ目はすぐに保存できたのに
その後異常に遅くなったのかわかる方がいたら教えていただけないでしょうか
回答1件
あなたの回答
tips
プレビュー