notebook

Was sind Jupyter Notebooks?

Willkommen in der spannenden Welt der Jupyter Notebooks! Ob Sie erfahrener Data Scientist sind oder neugierig einsteigen: Jupyter Notebooks bieten eine vielseitige, interaktive Umgebung, in der Sie Code entwickeln und teilen können. In diesem Beitrag sehen wir uns an, warum Jupyter Notebooks so ein starkes Werkzeug für Datenanalyse, Machine Learning und vieles darüber hinaus sind, und zeigen praktische Beispiele für den Einstieg.

Was ist ein Jupyter Notebook?

Ein Jupyter Notebook ist eine Open-Source-Webanwendung, mit der Sie Dokumente erstellen und teilen, die ausführbaren Code, Gleichungen, Visualisierungen und erläuternden Text enthalten. Es eignet sich ideal für Datenbereinigung und -transformation, numerische Simulation, statistische Modellierung, Datenvisualisierung, Machine Learning und mehr.

Die wichtigsten Funktionen:

1. Interaktive Codeausführung: Sie schreiben Code, führen ihn in Echtzeit aus und sehen das Ergebnis sofort. Über verschiedene Kernel unterstützt diese interaktive Umgebung eine Vielzahl von Programmiersprachen, am häufigsten wird allerdings Python verwendet.

2. Unterstützung für Rich Media: Sie können Visualisierungen, Bilder, Videos und sogar interaktive Widgets einbetten und so dynamische, informative Notebooks erstellen.

3. Anbindung an Datenquellen: Sie importieren Daten ohne viel Aufwand aus CSV-Dateien, Datenbanken oder APIs und analysieren sie direkt im Notebook mit verbreiteten Bibliotheken wie Pandas und NumPy.

4. Zusammenarbeit: Sie teilen Notebooks über GitHub, per E-Mail oder über einen direkten URL-Link. Das macht die Zusammenarbeit und den Austausch von Erkenntnissen sehr einfach.

Erste Schritte mit Jupyter Notebooks

Gehen wir die Installation von Jupyter Notebooks auf den verschiedenen Betriebssystemen durch.

Linux

1. Python und pip installieren:

sudo apt update
sudo apt install python3 python3-pip

2. Jupyter Notebook installieren:

pip3 install jupyter

3. Jupyter zum PATH hinzufügen (falls nötig):

Manchmal fehlt im PATH das Verzeichnis, in das pip ausführbare Dateien installiert. Nehmen Sie es auf, indem Sie die folgende Zeile in Ihre .bashrc oder .zshrc einfügen:

export PATH="$HOME/.local/bin:$PATH"

Laden Sie die Datei dann mit source, damit Ihre aktuelle Sitzung die Änderung übernimmt:

source ~/.bashrc

4. Jupyter Notebook starten:

jupyter notebook

Dieser Befehl startet den Jupyter-Server und öffnet das Jupyter-Dashboard in Ihrem Standardbrowser.

macOS

1. Homebrew installieren (falls noch nicht vorhanden):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Python installieren:

brew install python

3. Jupyter Notebook installieren:

pip3 install jupyter

4. Jupyter Notebook starten:

jupyter notebook

Windows

1. Python installieren:

Laden Sie Python von der offiziellen Website herunter und installieren Sie es. Setzen Sie während der Installation unbedingt das Häkchen, das Python zum PATH hinzufügt.

2. Jupyter Notebook installieren:

Öffnen Sie die Eingabeaufforderung und führen Sie aus:

pip install jupyter

3. Python- und Scripts-Verzeichnis zum PATH hinzufügen (falls nötig):

Fügen Sie C:\Python38\ und C:\Python38\Scripts\ zu Ihren PATH-Variablen hinzu (ersetzen Sie Python38 durch das Verzeichnis Ihrer tatsächlichen Python-Version).

4. Jupyter Notebook starten:

jupyter notebook

Nach der Installation öffnet der Befehl jupyter notebook das Jupyter-Dashboard in Ihrem Standardbrowser.

Fehlerbehebung

Falls die Fehlermeldung Jupyter command ‘jupyter-notebook’ not found erscheint, gehen Sie so vor:

1. Installation prüfen:

Stellen Sie mit diesem Befehl sicher, dass Jupyter installiert ist:

pip show jupyter

Der Befehl sollte Details zur Jupyter-Installation anzeigen. Tut er das nicht, installieren Sie Jupyter neu:

pip install jupyter –upgrade

2. Umgebungsvariable PATH prüfen:

Das Verzeichnis, in das pip Jupyter installiert, muss im PATH Ihres Systems stehen. Unter Linux und macOS ist das normalerweise ~/.local/bin, unter Windows normalerweise C:\Users\<YourUsername>\AppData\Roaming\Python\Python<version>\Scripts.

3. Ausführbare Jupyter-Datei finden:

Mit dem folgenden Befehl finden Sie heraus, wo Jupyter installiert ist:

which jupyter

oder

where jupyter

Fügen Sie dieses Verzeichnis zum PATH hinzu, falls es dort noch fehlt.

4. Jupyter Notebook mit Python starten:

Helfen die bisherigen Schritte nicht, können Sie versuchen, Jupyter Notebook direkt mit Python auszuführen:

python -m notebook

Ein Notebook ausführen

Nach der Installation starten Sie Jupyter, indem Sie im Terminal jupyter notebook ausführen. Das öffnet das Jupyter-Dashboard in Ihrem Standardbrowser.

Notebooks erstellen und verwalten:

Im Dashboard erstellen Sie neue Notebooks oder öffnen vorhandene.

Notebooks bestehen aus Zellen, die Code, Markdown (für formatierten Text) oder Rohtext enthalten können.

Praktische Beispiele

Ein paar Beispiele zeigen, wie leistungsfähig und flexibel Jupyter Notebooks sind.

Beispiel 1: Datenanalyse mit Pandas

import pandas as pd
# Load a sample dataset
url = "https://people.sc.fsu.edu/~jburkardt/data/csv/hw_200.csv"
df = pd.read_csv(url)
# Display the first few rows of the dataset
df.head()

Dieses Code-Snippet lädt einen Datensatz von einer URL und zeigt die ersten Zeilen an. Mit den Funktionen von Pandas können Sie die Daten danach weiter analysieren und bearbeiten.

Beispiel 2: Datenvisualisierung mit Matplotlib

import matplotlib.pyplot as plt

# Simple scatter plot
plt.scatter(df[‘Height(Inches)’], df[‘Weight(Pounds)’])
plt.xlabel(‘Height (Inches)’)
plt.ylabel(‘Weight (Pounds)’)
plt.title(‘Height vs Weight’)
plt.show()

Hier erstellen wir ein Streudiagramm, das den Zusammenhang zwischen Größe und Gewicht im Datensatz sichtbar macht.

Beispiel 3: Interaktive Widgets

import ipywidgets as widgets
from IPython.display import display

# Create a slider widget
slider = widgets.IntSlider(value=5, min=1, max=10, step=1, description=’Slider:’)
display(slider)

# Display the current value of the slider
def on_value_change(change):
print(f’Slider value: {change["new"]}’)

slider.observe(on_value_change, names=’value’)

Dieses Beispiel zeigt, wie Sie ein interaktives Slider-Widget erstellen und anzeigen. Bei jeder Änderung wird der aktuelle Wert des Sliders ausgegeben.

Beispiel 4: Machine Learning mit Scikit-Learn

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# Load the iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Train a Random Forest classifier
clf = RandomForestClassifier()
clf.fit(X_train, y_train)

# Make predictions and evaluate the model
y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f’Accuracy: {accuracy * 100:.2f}%’)

Dieses Snippet trainiert einen Random-Forest-Klassifikator mit dem Iris-Datensatz und misst seine Genauigkeit an einem Testdatensatz.

Fortgeschrittene Funktionen und Tipps für Jupyter Notebooks

Jupyter Notebooks sind für Data Scientists, Analysten und Forscher unglaublich starke Werkzeuge. Über die Grundlagen hinaus bietet Jupyter eine Reihe fortgeschrittener Funktionen, die produktiver machen, Arbeitsabläufe vereinfachen und die Bedienung insgesamt angenehmer gestalten. Im Folgenden sehen wir uns einige davon an, jeweils mit praktischen Beispielen.

1. Tastenkürzel

Wer Tastenkürzel gut einsetzt, arbeitet deutlich schneller. Hier sind einige der wichtigsten:

• Strg + Enter: Aktuelle Zelle ausführen und in derselben Zelle bleiben.

• Umschalt + Enter: Aktuelle Zelle ausführen und zur nächsten Zelle wechseln.

• Alt + Enter: Aktuelle Zelle ausführen und darunter eine neue Zelle einfügen.

• A: Eine neue Zelle über der aktuellen einfügen.

• B: Eine neue Zelle unter der aktuellen einfügen.

• D, D: Aktuelle Zelle löschen.

• M: Aktuelle Zelle in eine Markdown-Zelle umwandeln.

• Y: Aktuelle Zelle in eine Codezelle umwandeln.

• Umschalt + M: Ausgewählte Zellen zusammenführen.

Sie können die Tastenkürzel auch an Ihren Arbeitsablauf anpassen, und zwar unter Help > Edit Keyboard Shortcuts.

Beispiel: Ein Tastenkürzel anpassen

So passen Sie ein Tastenkürzel an:

1. Gehen Sie zu Help > Edit Keyboard Shortcuts.

2. Suchen Sie die Aktion, die Sie ändern möchten (z. B. run cell).

3. Klicken Sie auf das aktuelle Kürzel und drücken Sie die neue Tastenkombination.

2. Magics

Magics sind spezielle Befehle in Jupyter, die mit % oder %% beginnen und häufige Aufgaben erleichtern.

• Line Magics: Gelten für eine einzelne Codezeile.

• Cell Magics: Gelten für eine ganze Zelle.

Häufig verwendete Magics:

• %time: Misst die Ausführungszeit einer einzelnen Anweisung.

• %timeit: Misst die wiederholte Ausführung einer einzelnen Anweisung und ist dadurch genauer.

• %%time: Misst die Ausführungszeit einer Zelle.

• %%writefile filename.py: Schreibt den Inhalt der Zelle in eine Datei.

• %load filename.py: Lädt Code aus einer Datei in eine Zelle.

Beispiel: Die Ausführungszeit von Code messen

# Using %time
%time sum([i**2 for i in range(10000)])

# Using %%time
%%time
result = []
for i in range(10000):
result.append(i**2)

3. Einen eigenen Magic-Befehl erstellen

1. Den Magic-Befehl definieren:

Zuerst importieren Sie die nötigen Module und definieren Ihren Magic-Befehl. Eigene Magics erstellen Sie mit dem Modul IPython.

from IPython.core.magic import register_line_magic

@register_line_magic
def reverse(line):
"Reverse the input string"
return line[::-1]

2. Den Magic-Befehl aktivieren:

Nach der Definition müssen Sie den Magic-Befehl aktivieren. Führen Sie dazu den folgenden Code in einer Zelle Ihres Jupyter Notebooks aus:

# Define the custom magic
from IPython.core.magic import register_line_magic

@register_line_magic
def reverse(line):
"Reverse the input string"
return line[::-1]

# Enable the magic
%reload_ext autoreload
%autoreload 2

3. Das eigene Magic verwenden:

Jetzt können Sie Ihren eigenen Magic-Befehl %reverse im Notebook verwenden:

# Using the custom %reverse magic
%reverse Hello, world!

Erklärung

@register_line_magic: Dieser Decorator registriert ein neues Line Magic. Die damit definierte Funktion läuft, sobald der eigene Magic-Befehl aufgerufen wird.

• line[::-1]: Das ist eine Slicing-Technik in Python, die den Eingabestring umkehrt.

Beispiel in einer Zelle eines Jupyter Notebooks

Hier ist ein vollständiges Beispiel, das Sie in eine Zelle eines Jupyter Notebooks kopieren können, um das eigene Magic in Aktion zu sehen:

# Define and register the custom magic
from IPython.core.magic import register_line_magic

@register_line_magic
def reverse(line):
"Reverse the input string"
return line[::-1]

# Enable the magic
%reload_ext autoreload
%autoreload 2

# Using the custom %reverse magic
%reverse Hello, world!

Wenn Sie den Code oben ausführen, sollten Sie diese Ausgabe sehen:

!dlrow ,olleH

Weitere fortgeschrittene Funktionen ergänzen

Dieses einfache Beispiel lässt sich um komplexere Funktionen erweitern, etwa um die Verarbeitung mehrerer Zeilen oder um zusätzliche Parameter.

Beispiel: Jede Zeile einer mehrzeiligen Eingabe umkehren

from IPython.core.magic import register_cell_magic

@register_cell_magic
def reverse_all(line, cell):
"Reverse each line in the cell"
lines = cell.split(‘\n’)
reversed_lines = [ln[::-1] for ln in lines]
return ‘\n’.join(reversed_lines)

# Enable the magic
%reload_ext autoreload
%autoreload 2

# Using the custom %%reverse_all magic
%%reverse_all
Hello, world!
This is an example of a multi-line input.

Dieses Beispiel erstellt mit register_cell_magic ein Cell Magic, das jede Zeile der Zelleneingabe verarbeitet.

Wenn Sie sich mit eigenen Magics beschäftigen und sie einsetzen, können Sie Funktionsumfang und Interaktivität Ihrer Jupyter Notebooks deutlich erweitern und sie genau auf Ihre Anforderungen und Arbeitsabläufe zuschneiden.

Erweiterungen

Erweiterungen für Jupyter Notebook ergänzen Ihre Notebooks um zusätzliche Funktionen. Das Paket jupyter_contrib_nbextensions bringt viele nützliche Erweiterungen mit.

Erweiterungen installieren und aktivieren:

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install –user

Aktivieren Sie die Erweiterungen über den Tab Nbextensions im Jupyter-Dashboard.

Nützliche Erweiterungen:

• Table of Contents: Erzeugt automatisch ein Inhaltsverzeichnis für die einfache Navigation.

• Variable Inspector: Zeigt alle Variablen und ihre Werte an.

• Scratchpad: Ein Bereich für temporäre Code-Snippets.

Beispiel: Die Erweiterung Table of Contents aktivieren

1. Installieren Sie das Paket jupyter_contrib_nbextensions.

2. Öffnen Sie den Tab Nbextensions im Jupyter-Dashboard.

3. Suchen und aktivieren Sie die Erweiterung Table of Contents.

Datenvisualisierung

Jupyter Notebooks unterstützen verschiedene Bibliotheken für die Datenvisualisierung, darunter Matplotlib, Seaborn und Plotly.

Beispiel: Interaktives Diagramm mit Plotly

import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode(connected=True)

# Sample data
trace = go.Scatter(x=[1, 2, 3, 4, 5], y=[2, 3, 5, 7, 11], mode=’lines’)
data = [trace]

# Create a plot
layout = go.Layout(title=’Interactive Plot’)
fig = go.Figure(data=data, layout=layout)
iplot(fig)

Paralleles und verteiltes Rechnen

Jupyter Notebooks können Frameworks für paralleles und verteiltes Rechnen wie Dask und IPython parallel nutzen.

Beispiel: Paralleles Rechnen mit Dask

import dask.array as da

# Create a large Dask array
x = da.random.random((10000, 10000), chunks=(1000, 1000))

# Compute the mean
mean = x.mean().compute()
print(mean)

Fazit

Jupyter Notebooks sind unglaublich vielseitig und bieten eine Reihe fortgeschrittener Funktionen für Ihre Arbeit in Data Science und Forschung. Mit Tastenkürzeln, Magics, interaktiven Widgets, Erweiterungen und mehr werden Ihre Notebooks effizienter, dynamischer und besser für die Zusammenarbeit geeignet.

Mehr über Jupyter Notebooks und ihre Möglichkeiten erfahren Sie bei DataCamp, Real Python und Saturn Cloud.

Viel Spaß beim Programmieren!

Aus dem Englischen übersetzt: zum Originalbeitrag

Gestalten Sie die Zukunft Ihres Unternehmens mit KI

Tauchen Sie ein in unsere spannenden Workshops und rüsten Sie Ihr Team mit den Werkzeugen und dem Wissen aus, um im Zeitalter der KI führend zu sein.

Kontaktieren Sie uns
Scroll to top