Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。141件1Python3でSpyderを使っております。コードを実行して得られた巨大なサイズの変数をどこかに保存し、呼び出すような方法はあるのでしょうか。背景として、数百万行に及ぶ結果が返ってくるようなループ文を書いており、ファイルを変えるたびに当然変数は消えるため、また当初の作業をやり直す際にはこのループ文を再度実行しております。このすでに実行済かつ結果の分かっているループ文に毎度1,2時間取られてしまっております。票2Pythonには、pickle(日本語に訳すと漬物)というオブジェクトを高速で保存できるモジュールがあります。巨大なサイズの変数をdataとすると次のようなコードで簡単に保存と読み込みが可能です。pickle.load(f)巨大なサイズの変数がPandasのDataFrameの場合は、もっと簡単にpickleに保存と読み込みが可能です。pd.read_pickle('data.pickle')numpyのndarrayの場合には、独自にバイナリ形式で保存できるようになっているので、それを使ったほうが便利です。以下のコードで試してみると数秒で保存ができ、読み込みの方は1秒もかかりません。pickleを使った場合も、それと同じぐらいの処理時間です。個の銅バッジまさに探していた方法をご教示いただきありがとうございます。1点確認なのですが、for文で.append()を使って得られた数百万行のリストをピックル化に現在進行系で保存しているのですが、非常に時間を要しております。こちらの対処方法はどういったことが考えられますでしょうか。上記に挙げていただいたような、一度dfやnp.arrayに変換してたほうがよいものなのでしょうか。2:38リストの方は構造が複雑なので、Pythonで1行ずつ処理していると思います。dfやnp.arrayであればC言語で書かれたルーチンで処理されるので高速です。構造的にdfやnp.arrayにできるのであれば、for文で.append()せずに、初めからdfかnp.arrayにしておく方がすべての面で処理が速いです。いうのはピックル化に限らずということですよね?是非とも学びたいのですが参考となる情報源を見つけられていないので、ご存知でしたらご教示頂けないでしょうか。因みに私が現在実行しているのは、エクセルからデータをdfで取り込み、それらを重複組み合わせ(凡そ1000万通り)で取り込んだデータを結合したり四則演算したりしたものを.appendで格納しております。いったケースでもfor文で.appendを使わずに高速処理できるものなのでしょうか。3:27Pandasの場合、データの結合はdf.merge()で、四則演算はベクトル演算ができきるので、かなり処理の簡素化と高速化ができると思います。情報源としては最終的にはPandasの公式マニュアルを見るのがいいと思いますが、最初はどう使うかわからないことが多いと思います。3:41そのとおりですね。ありがとうございます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。処理がスタートしていないように見える。それはなぜでしょうか。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。