QuelleTipps und Tricks, insbesondere beim Programmieren, können sehr hilfreich sein. Ein kleiner Shotcat, Addon oder Hack kann eine Menge Zeit sparen und die Produktivität drastisch steigern. Ich habe meine Favoriten gesammelt und diesen Artikel daraus gemacht. Einige der folgenden Tipps sind vielen bereits bekannt, andere sind kürzlich erschienen. Auf die eine oder andere Weise bin ich sicher, dass sie sicherlich nicht überflüssig werden, wenn Sie erneut ein Datenanalyseprojekt starten.
1. Profilerstellung für Pandas Dataframe
Die Profilerstellung hilft Ihnen dabei, unsere Daten besser zu verstehen. Das Pandas-Profilerstellungspaket wurde speziell dafür erstellt. Die Bibliothek bietet die Möglichkeit, einfach und schnell eine explorative Analyse des Pandas-Datenrahmens durchzuführen. In solchen Fällen werden in der Regel die Funktionen df.describe () und df.info () als erster Schritt verwendet, sie melden jedoch wenig und arbeiten schlecht mit großen Datenmengen. Im Gegensatz dazu gibt eine Codezeile mit Pandas Profiling viele Informationen in einem interaktiven HTML-Bericht aus.
Folgendes wird für einen bestimmten Datensatz berechnet:
Von Pandas Profiling ausgegebene Statistiken.Installation
pip install pandas-profiling conda install -c anaconda pandas-profiling
Verwenden Sie
Verwenden wir den Titanic Passenger Dataset, um den Profiler zu präsentieren.
# import pandas as pd import pandas_profiling
df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df)
Dies ist alles, was Sie benötigen, um Profilerstellungsergebnisse anzuzeigen. Der Bericht enthält zahlreiche Details, gegebenenfalls auch Diagramme.
Der Bericht kann in eine interaktive HTML-Datei exportiert werden :
profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html")
Klicken Sie hier , um live zu sehen.
( Ordner mit Beispielen - ca. übersetzt)
2. Pandas Graphics interaktiv machen
Die DataFrame- Klasse in Pandas verfügt über eine integrierte .plot () -Funktion. Die mit ihrer Hilfe erstellte Visualisierung ist jedoch nicht interaktiv, was ich verbessern möchte. Andererseits möchte ich auch nicht auf die Einfachheit der Verwendung der Funktion verzichten. Was wäre, wenn wir Pandas- Grafiken interaktiv machen könnten, ohne tatsächlich Änderungen am Code vorzunehmen? Genau das ist mit der Manschettenknopf- Bibliothek möglich .
Manschettenknöpfe verbinden die Stärke von Plotly mit der Flexibilität von Pandas für interaktive Grafiken. Mal sehen, wie Sie die Bibliothek installieren und mit Pandas zum Laufen bringen können .
Installation
pip install plotly # Plotly Cufflinks pip install cufflinks
Verwenden Sie
# Pandas import pandas as pd # plotly cufflinks import cufflinks as cf
import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True)
Zeit, die gesamte Leistung des Instruments anhand der Daten der Passagiere der Titanic zu sehen.
df.iplot()
df.plot () im Vergleich zu df.iplot ()Die untere Visualisierung zeigt ein statisches Diagramm, während das obere Diagramm interaktiv und detaillierter ist, ohne wesentliche Syntaxänderungen.
Hier sehen Sie weitere Beispiele.
3. Ein bisschen Magie
Magic-Befehle sind eine Reihe praktischer Funktionen in Jupyter-Laptops, mit denen allgemeine Aufgaben der Standarddatenanalyse gelöst werden können. Sie können alle verfügbaren Funktionen mit % lsmagic anzeigen .
Liste aller verfügbaren "magischen" FunktionenEs gibt zwei Arten von magischen Befehlen: Linienmagie , die mit einem einzelnen % beginnen und auf derselben Linie arbeiten; und Zellmagie , die mit double %% verknüpft sind und in mehreren Zeilen arbeiten.
Schauen wir uns diejenigen an, die für allgemeine Datenanalyse-Aufgaben nützlich sind:
% pastebin lädt den Code in Pastebin und gibt die URL zurück. Pastebin ist eine Site, auf der wir einfachen Text speichern können, beispielsweise ein Fragment des Quellcodes, um den Link an andere weiterzugeben. Tatsächlich ähnelt der GitHub Gist Pastebin, allerdings mit Versionskontrolle.
Betrachten Sie das folgende Skript:
# file.py def foo(x): return x
Wenn Sie % pastebin in einem Jupyter-Notizbuch verwenden, wird eine URL in Pastebin erstellt.
Der Inline-Befehl% matplotlib wird verwendet, um statische Matplotlib- Diagramme in einem Jupyter-Notizbuch zu visualisieren. Ersetzen Sie Inline durch Notebook , um skalierbare und veränderbare Diagramme zu erhalten. Stellen Sie einfach sicher, dass der Befehl hinzugefügt wurde, bevor Sie matplotlib importieren.
% matplotlib inline im Vergleich zu % matplotlib notebookDer Befehl % run führt das Skript im Jupyter-Notizbuch aus.
%run file.py
%% writefile schreibt den Inhalt einer Zelle in eine Datei. Der folgende Code wird in eine Datei namens foo.py geschrieben und im aktuellen Verzeichnis gespeichert.
Die %% Latexfunktion zeigt den Inhalt der Zelle als LaTeX an. Dies ist nützlich, um mathematische Formeln und Gleichungen in eine Zelle zu schreiben.
4. Fehlerbehebung
Der interaktive Debugger ist ebenfalls ein magisches Team, aber ich habe ihm meine eigene Kategorie gegeben. Wenn beim Starten der Zelle mit dem Code eine Ausnahme auftritt, geben Sie den Befehl % debug in eine neue Zeile ein und führen Sie ihn aus. Eine interaktive Debugging-Umgebung wird geöffnet und zeigt den Ort an, an dem die Ausnahme aufgetreten ist. Sie können die Werte von Variablen überprüfen und verschiedene Operationen ausführen. Drücken Sie q , um den Debugger zu beenden .
5. Die Schlussfolgerung kann schön sein
Wenn Sie möchten, dass Ihre Datenstrukturen schön angezeigt werden, ist pprint Ihre Wahl. Dies ist besonders nützlich, wenn Wörterbücher oder JSON-Daten gedruckt werden. Schauen wir uns den Code an, der sowohl print als auch pprint für die Ausgabe verwendet.
6. Notizen hervorheben
Wir können Warnungen in unseren Jupyter-Notizbüchern verwenden, um etwas Wichtiges hervorzuheben. Die Farbe hängt von der Art der Warnung ab. Fügen Sie einfach einen oder alle der folgenden Codes zu der Zelle hinzu, die Sie hervorheben möchten.
- Blauer Alarm: Informationen
<div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div>
<div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div>
<div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div>
<div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div>
7. Drucken Sie jede Ausgabe in einer Zelle
Stellen Sie sich eine Jupyter-Notizbuchzelle vor, die diesen Code enthält:
In [1]: 10+5 11+6
Out [1]: 17
Dies ist eine normale Eigenschaft der Zelle, dass nur die letzte Ausgabe gedruckt wird, und für andere müssen wir die Funktion print () hinzufügen. Nun, es stellt sich heraus, dass wir alle Schlussfolgerungen drucken können, indem wir das folgende Fragment von oben hinzufügen:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
Jetzt werden alle Schlussfolgerungen nacheinander gedruckt.
In [1]: 10+5 11+6 12+7
Out [1]: 15 Out [1]: 17 Out [1]: 19
So kehren Sie zur ursprünglichen Einstellung zurück:
InteractiveShell.ast_node_interactivity = "last_expr"
8. Ausführen von Python-Skripten mit der Option -i.
Ein typischer Weg, um ein Python-Skript über die Befehlszeile auszuführen, ist: python hello.py . Wenn Sie jedoch den Parameter - i hinzufügen, d. H. Rufen Sie python -i hello.py an, Sie werden viel mehr bekommen. Mal sehen was genau.
- Erstens beendet Python den Interpreter nicht mehr, sobald das Ende des Programms erreicht ist. So können wir die Werte von Variablen und die Richtigkeit der in unserem Programm definierten Funktionen überprüfen.
- Zweitens können wir, da wir noch im Interpreter sind, den Python-Debugger einfach aufrufen:
import pdb pdb.pm()
Dies führt uns zu dem Ort, an dem die Ausnahme aufgetreten ist, und wir können weiter am Code arbeiten.
Die ursprüngliche Quelle der Funktionen.
9. Automatisches (ras) Code-Kommentieren
Strg / Befehlstaste + / kommentiert automatisch die ausgewählten Zeilen in der Zelle. Durch erneutes Drücken der Kombination werden dieselben Zeilen auskommentiert.
(Dies gilt übrigens auch für andere Editoren wie Pycharm oder Sublime Text - ca. übersetzt.)
10. Stornierung von zufälligen Aktionen
Haben Sie jemals versehentlich eine Jupyter-Notebook-Zelle gelöscht? Wenn ja, hier sind die Shotcats, die diese Aktion abbrechen.
- Falls Sie den Inhalt in der Zelle gelöscht haben, können Sie ihn einfach durch Drücken von STRG / CMD + Z wiederherstellen
- Wenn Sie die gelöschte Zelle selbst wiederherstellen müssen - ESC + Z oder BEARBEITEN> Löschen von Zellen rückgängig machen
Fazit
In diesem Artikel habe ich die grundlegenden Tipps aufgelistet, die mir bei der Arbeit mit Python- und Jupyter-Notizbüchern helfen. Ich hoffe sie helfen dir auch. Viel Spaß beim Codieren!