Über 250 Python- und Data Science-Tipps – zu Pandas, NumPy, ML-Grundlagen, Sklearn, Jupyter und mehr. | von Avi Chawla | Juni 2023

0
29


Heatmaps erleichtern die Datenanalyse oft erheblich. Sie können jedoch durch eine einfache Modifikation weiter bereichert werden.

Eine herkömmliche Heatmap stellt die Werte anhand einer Farbskala dar. Dennoch ist die Zuordnung der Zellfarbe zu Zahlen immer noch eine Herausforderung.

Größencodierte Heatmap (Bild vom Autor)

In solchen Fällen kann die Einbettung einer Größenkomponente, wie oben gezeigt, äußerst hilfreich sein. Grundsätzlich gilt: Je größer die Größe, desto höher der absolute Wert.

Dies ist besonders nützlich, um Heatmaps sauberer zu machen, da viele Werte, die näher an Null liegen, sofort kleiner werden.

Tatsächlich können Sie die Größe mit jeder anderen Type darstellen. Unten habe ich dieselbe Heatmap stattdessen mit einem Kreis erstellt:

Größencodierte Heatmap (Bild vom Autor)

Von Zeit zu Zeit wird uns empfohlen, die Iteration auf einem Pandas DataFrame zu vermeiden. Aber was ist der genaue Grund dafür? Lassen Sie mich erklären.

Ein DataFrame ist eine spaltengroße Datenstruktur. Somit werden aufeinanderfolgende Elemente in einer Spalte nebeneinander im Speicher gespeichert.

Hauptspalte DataFrame (Bild vom Autor)

Da Prozessoren mit zusammenhängenden Speicherblöcken effizient arbeiten, ist das Abrufen einer Spalte viel schneller als das Abrufen einer Zeile.

Aber während der Iteration erhöht sich die Laufzeit drastisch, da jede Zeile durch Zugriff auf nicht zusammenhängende Speicherblöcke abgerufen wird.

Zeilen- und Spaltenzugriff (Bild vom Autor)

Im Bild oben struggle das Abrufen von über 32 Millionen Elementen einer Spalte noch nicht abgeschlossen 20x schneller als nur neun hintereinander gespeicherte Elemente abzurufen.

Bei der Erstellung von Visualisierungen gibt es oft bestimmte Teile, die besonders wichtig sind. Dennoch sind sie für den Betrachter möglicherweise nicht sofort erkennbar.

Ein guter Daten-Storyteller wird stets dafür sorgen, dass die Handlung die Aufmerksamkeit des Zuschauers auf diese Schlüsselbereiche lenkt.

Eine gute Möglichkeit besteht darin, bestimmte Bereiche eines Diagramms zu vergrößern, die für Sie von Interesse sind. Dadurch wird sichergestellt, dass unsere Handlung tatsächlich das vermittelt, was wir damit darstellen wollen.

Zoomachsen in Matplotlib (Bild vom Autor)

In Matplotlib können Sie dies mit 𝐢𝐧𝐝𝐢𝐜𝐚𝐭𝐞_𝐢𝐧𝐬𝐞𝐭_𝐳𝐨𝐨𝐦() tun. Es fügt ein Anzeigefeld hinzu, das zur besseren Kommunikation vergrößert werden kann.

Korrelation wird häufig verwendet, um den Zusammenhang zwischen zwei kontinuierlichen Variablen zu bestimmen. Aber es hat einen großen Fehler, der oft unbemerkt bleibt.

Menschen ziehen oft Schlussfolgerungen anhand einer Korrelationsmatrix, ohne sich die Daten überhaupt anzusehen. Allerdings können Ausreißer oder andere Artefakte die erhaltenen Statistiken stark beeinflussen.

Ausreißer in Daten (Bild vom Autor)

Dies wird in den Diagrammen oben veranschaulicht. Die Hinzufügung von nur zwei Ausreißern veränderte die Korrelation und die Regressionsgerade drastisch.

Wenn man sich additionally die Daten anschaut und die zugrunde liegenden Merkmale versteht, kann man vermeiden, falsche Schlussfolgerungen zu ziehen. Statistiken sind wichtig, können aber manchmal sehr irreführend sein.

Veränderbares Standardargument (Bild vom Autor)

Veränderlichkeit in Python ist möglicherweise eines der am meisten missverstandenen und übersehenen Konzepte. Das obige Bild zeigt ein Beispiel, das viele Python-Programmierer (insbesondere neue) nur schwer verstehen können.

Kannst du es herausfinden? Wenn nicht, lassen Sie es uns verstehen.

Die Standardparameter einer Funktion werden direkt zum Zeitpunkt der Definition der Funktion ausgewertet. Mit anderen Worten: Sie werden nicht bei jedem Aufruf der Funktion ausgewertet (wie in C++).

Sobald additionally eine Funktion definiert ist, wird die Funktionsobjekt speichert die Standardparameter in seinem __defaults__ Attribut. Wir können dies unten überprüfen:

Standardattribut von Funktionen (Bild vom Autor)

Wenn Sie additionally a angeben veränderbarer Standardparameter in einer Funktion hinzufügen und diese mutieren, ändern Sie unwissentlich und unbeabsichtigt den Parameter für alle zukünftigen Aufrufe dieser Funktion.

Dies wird in der folgenden Demonstration gezeigt. Anstatt bei jedem Funktionsaufruf eine neue Liste zu erstellen, hängt Python das Component an dieselbe Kopie an.

auf das Standardattribut aktualisiert (Bild vom Autor)

Was können wir additionally tun, um dies zu vermeiden?

Anstatt einen veränderlichen Standardparameter in der Definition einer Funktion anzugeben, ersetzen Sie diese durch None. Wenn die Funktion beim Funktionsaufruf keinen entsprechenden Wert erhält, erstellen Sie das veränderliche Objekt innerhalb der Funktion.

Dies wird im Folgenden demonstriert:

Lösung (Bild vom Autor)

Wie oben gezeigt erstellen wir eine neue Liste, wenn die Funktion beim Aufruf keinen Wert erhalten hat. Dadurch können Sie das unerwartete Verhalten einer Mutation desselben Objekts vermeiden.



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here