私は本_Python Machine Learning
_を読んでいて、コードを分析しようとしました。しかし、それは_*.ipynb
_ファイルのみを提供し、とても面倒です。
例えば、
このコードでは、_In[9]
_全体を実行したくありませんが、変数の各値を確認し、各ライブラリ関数が何をするかを知るために、行ごとに実行したいです。
コードの一部を実行するたびにコメントする必要がありますか? MATLAB
のような_Execute the block part
_のようなものが欲しい
また、コードの一部をコメント化し、1行ずつ実行するとします。 print()
またはdisplay()
を使用せずに各変数の値を確認するにはどうすればよいですか?ご存知のように、ターミナルで_python interactive Shell
_の値を確認するためにprint()
を使用する必要はありません。 Jupyter
にも同様の方法がありますか?
Jupyter NotebookまたはIPythonコンソールでは、この動作を ast_node_interactivity
:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
この構成を使用すると、同じセルにある場合でも、すべての行がきれいに印刷されます。
None
は表示されません。
他にも多くの便利なヒントがあります ここ ( "28 Jupyter Notebookのヒント、トリック、ショートカット-Dataquest")。
新しいセルを追加して、新しいセルに必要な部分をカットアンドペーストするだけです。したがって、たとえば、最初のセルにインポートと_%matplotlib inline
_を配置できます(ノートブックを最初に開いたときにのみ実行する必要があるため)、2番目のy
世代、 3番目はX
生成、4番目はプロットです。その後、各セルを次々に実行できます。これは単なる例であり、必要に応じて分割できます(ただし、最初にインポートをまとめることをお勧めします)。
印刷に関しては、セルの最後の行が変数に割り当てられていない場合、自動的に印刷されます。したがって、たとえば、次のようなセルがあるとします。
_y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y
_
次に、y
の内容がセルの後に表示されます。同様に、次の内容のセルがある場合:
_y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y.sum()
_
次に、y.sum()
操作の結果がセルの後に表示されます。一方、次のセルが実行されると、何も印刷されません。
_y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
_
これについては何も印刷されません:
_z = {}
y = df.iloc[0:100, 4].values
z['spam'] = np.where(y == 'spam', -1, 1)
_
PyCharm Jupyter Notebooksでは、セルを右クリックして分割するだけで、完了したら右クリックでマージできます。