webentwicklung-frage-antwort-db.com.de

Wie kann ich den Code in jupyter-notebook zeilenweise ausführen?

Ich lese das Buch Python Machine Learning Und versuche, den Code zu analysieren. Aber es bietet nur die Datei *.ipynb Und es macht mich sehr lästig.

Beispielsweise,

enter image description here

In diesem Code möchte ich nicht ganz In[9] Ausführen, sondern zeilenweise, damit ich jeden Wert einer Variablen überprüfen und wissen kann, was jede Bibliotheksfunktion tut.

Muss ich jedes Mal einen Kommentar abgeben, wenn ich einen Teil der Codes ausführen möchte? Ich möchte nur etwas wie Execute the block part Wie in MATLAB

Nehmen wir an, ich kommentiere einen Teil des Codes und führe ihn Zeile für Zeile aus. Wie kann ich den Wert jeder Variablen überprüfen, ohne print() oder display() zu verwenden? Wie Sie wissen, muss ich print() nicht verwenden, um den Wert in python interactive Shell Im Terminal zu überprüfen. Gibt es einen ähnlichen Weg in Jupyter?

21
user3595632

ast_node_interactivity

In Jupyter Notebook oder in der IPython-Konsole können Sie dieses Verhalten mit ast_node_interactivity :

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

Beispiele

Mit dieser Konfiguration wird jede einzelne Zeile hübsch gedruckt, auch wenn sie sich in derselben Zelle befindet.

  • In Notebook:

Jupyter notebook multiple lines

  • In der IPython-Konsole:

IPython console multiple lines

Anmerkungen

  • None wird nicht angezeigt.

  • Es gibt viele andere nützliche Tipps hier ("28 Jupyter Notebook-Tipps, Tricks und Verknüpfungen - Dataquest").

12
Eric Duminil

Sie können einfach neue Zellen hinzufügen und dann die gewünschten Teile ausschneiden und in die neuen Zellen einfügen. So können Sie zum Beispiel die Importe und %matplotlib inline In die erste Zelle stellen (da diese nur ausgeführt werden müssen, wenn das Notizbuch zum ersten Mal geöffnet wird), die Generation y in die zweite. die X Generation in der dritten und die Zeichnung in der vierten. Dann können Sie einfach jede Zelle nacheinander ausführen. Das ist nur ein Beispiel, Sie können es aufteilen, wie Sie möchten (obwohl ich empfehle, die Importe ganz am Anfang zusammenzustellen).

Wenn beim Drucken die letzte Zeile in einer Zelle keiner Variablen zugewiesen ist, wird sie automatisch gedruckt. Angenommen, Folgendes ist eine Zelle:

y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y

Dann wird der Inhalt von y nach der Zelle angezeigt. Wenn Sie eine Zelle mit folgendem Inhalt haben:

y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)
y.sum()

Dann wird das Ergebnis der y.sum() -Operation nach der Zelle angezeigt. Wenn andererseits die folgende Zelle ausgeführt wird, wird nichts gedruckt:

y = df.iloc[0:100, 4].values
y = np.where(y == 'spam', -1, 1)

Auch ist nichts für diesen gedruckt:

z = {}
y = df.iloc[0:100, 4].values
z['spam'] = np.where(y == 'spam', -1, 1)
3
TheBlackCat

In PyCharm Jupyter-Notizbüchern können Sie einfach mit der rechten Maustaste klicken und die Zelle teilen. Wenn Sie fertig sind, wird der Rechtsklick zusammengeführt.

0
Jonathan