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,
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
?
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"
Mit dieser Konfiguration wird jede einzelne Zeile hübsch gedruckt, auch wenn sie sich in derselben Zelle befindet.
None
wird nicht angezeigt.
Es gibt viele andere nützliche Tipps hier ("28 Jupyter Notebook-Tipps, Tricks und Verknüpfungen - Dataquest").
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)
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.