【Jupyter】マジックコマンドstoreで変数を保存するこの広告は、90日以上更新していないブログに表示しています。2021-07-26【Jupyter】マジックコマンドstoreで変数を保存するJupyterNotebook今回は、JupyterNotebook(とJupyterLab)のマジックコマンド%storeの使い方。参考おわりにマジックコマンド%storeの機能Jupyterのセルで使用している変数を保存することができる。これを使うことにより、別のipynbファイルと変数が共有できたりするらしい。保存した変数は、Jupyter上のデータベースにファイルとして保存されるとのこと。~/.ipython/profile_default/db/autorestore。ホームディレクトリの隠しフォルダ.ipythonの中。ネット上のcsvファイルやWebページのテーブルを読み込むとします。データフレームにして変数dfに格納した。ipynbファイルを閉じてしまった後で再び変数dfをOutで出力表示させようとすると、またネットからPandasで読み込む必要があります。毎回同じファイルを同じネット上からダウンロードするのもアレですので、変数ごと保存しておけば手間が省けそうです。ファイルに書き出しても出来ますけど、マジックコマンドで済むならそっちが早いだろう。よし、使ってみましょう。何も保存しておりませんので、何も表示されない筈ですが、一応。values:空ということでよろしいのかな。保存された全ての変数の読み込み空なので、読み込んでも空でしょうが、一応。適当に変数に値を代入して保存してみます。文字列と、リストと、データフレームと3つ行ってみよう。pd.DataFrame([[1,2,3],[4,5,6]])3つ同時に保存してみる。(DataFrame)変数名と型が表示され、保存されたっぽい。'データベースに保存されている変数名と中身の一覧が表示された。マジックコマンド%whoで変数名を確認%whoを使うと、現在メモリ上に格納されている変数名が取得できる。いま↑で作った変数名だけが表示される筈なので、見てみましょう。definedというエラーが出る。-rで保存された変数の呼び出し一旦ipynbファイルを閉じます。-rで保存変数を呼び出し、中身が表示されるかを確かめます。(束の間)と言うことで、ipynbを閉じて開きました。empty.メモリ上は空です。相変わらず何も表示されない。データベースの変数全てを読み込んだので、メモリに確保されたはず。おお、変数が読み込まれている。コードセルに書いて実行すれば、とうぜん値が表示される。データフレーム(print関数を使わず表示)df本日は、晴天なり。変数コマンドを使って変数をデータベースに保存し、このファイルで呼び出してみます。(束の間)別のipynbファイルで変数保存してきました。データベースに保存された変数一覧を取得します。'この変数とコメントは別のファイルでデータベースに保存しました。'commentsという名前の変数が追加されています(追加しました)。変数commentsはメモリ上に無い。保存の変数を読み込みます。-rprint(comments)この変数とコメントは別のファイルでデータベースに保存しました。変数を共有できました。変数commentsとtextを削除してみます。text何も表示されません。メモリ上とデータベース上の変数を確認します。メモリ上にはまだ残っています。'データベース上からは削除されています。textは残ったままですね。1つずつしか削除できないのか。全ての変数を削除します。その前に、ホームディレクトリの隠しフォルダの中にある変数保存先のファイルを確認しておこう。dhistここのautorestore/というディレクトリの中に変数がファイルで保存されているらしい。~/.ipython/profile_default/db/autorestore/text�X本日は、晴天なり。q.読めるが、一部文字化けしてる。