同じサーバーで複数のIPythonノートブックを実行している場合。それらの間でデータを共有する方法はありますか?たとえば、別のノートブックから変数をインポートしますか?ありがとう!
これは私にとってはうまくいきます:
%storeコマンドを使用すると、2つの異なるノートブック間で変数を渡すことができます。
data = 'これは別のノートブックに渡したい文字列です'%store data
さて、新しいノートブックで…%store -r data print(data)これは、別のノートブックに渡したい文字列です
私はsklearnデータセットでテストしました:
from sklearn import datasets
dataset = datasets.load_iris()
%store dataset
ノートブックでデータを読み取る:
%store -r dataset
src: https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/
IPythonは%store
マジックをサポートしています( ドキュメントはこちら )。 pickle と同じ制約があるようです。ファイルをピクルできる場合は、それも保存可能です。
とにかく、一般的なPython=タイプで確実に機能します。基本的な例を次に示します:
var_1 = [1,2,3,4] #list
var_2 = {'a':1,'b':2,'c':3} #dict
var_3 = (6,7,8) #Tuple
var_4 = {'d','e','f'} #set
%store var_1
%store var_2
%store var_3
%store var_4
Stored 'var_1' (list)
Stored 'var_2' (dict)
Stored 'var_3' (Tuple)
Stored 'var_4' (set)
次に、別のIPythonノートブックでは、次のように入力するだけで十分です。
%store -r var_1
%store -r var_2
%store -r var_3
%store -r var_4
データが単一の変数内にある場合は、1つのノートブックで%save
マジックを使用してファイルに保存し、別のノートブックで再度読み取ってみてください。
1つの難点は、テキストファイルにはデータが含まれているが変数の定義は含まれていないため、通常は変数の定義と連結し、その結果をexec
と連結します。
理論的には messaging を使用してこれを実行できるはずですが、それを理解するにはさらに深く掘り下げる必要があります。
なぜこの機能が必要なのですか?