Tableau & TabPy – Datenanalyse mit Python  

Die Verbindung von Tableau und TabPy optimiert das Datenanalyseerlebnis, indem sie die intuitive visuelle Analytik von Tableau mit den leistungsstarken Python-basierten Rechenfähigkeiten von TabPy kombiniert. Nutzer können komplexe Berechnungen, Machine-Learning-Modelle und statistische Analysen direkt in Tableau durchführen und erhalten präzisere, prädiktive Visualisierungen, ohne die Umgebung zu verlassen. Diese Integration optimiert den Workflow und unterstützt datengetriebene Entscheidungensprozesse. 

Im Artikel Tableau & TabPy wurden mehrere wichtige Punkte zum Thema Datenanalyse mit TabPy und Nutzungsszenarien für Tableau und Python behandelt. Zunächst wurde die Integration von TabPy innerhalb von Tableau geklärt. In diesem Artikel erklären wir die Verwendung der beiden Tools für eine Datenanalyse anhand eines Beispiels. Die wichtigsten Teile des Python-Codes werden detailliert beschrieben, gefolgt von den notwendigen Anpassungen zur Nutzung unseres Python-Codes in Tableau. 

Einsatzbeispiel von Python und Tableau: Principal Component Analysis (PCA) 

Das folgende Beispiel soll verdeutlichen, wie Sie in Tableau Desktop interaktive Analysen hochdimensionaler Daten dank Hauptkomponentenanalyse, Parameter und Filter durchführen können. Nathan Mannheimer, Produktmanager bei Tableau, präsentierte dies bereits auf der Tableau-Konferenz. In unserem speziellen Beispiel werten wir den Datensatzes von Autos mit Merkmalen wie Zylinderanzahl, Motorleistung, Länge und Breite grafisch aus: 

Dazu können wir die Principal Component Analysis (PCA, eine Dimensionsreduktionsmethode) verwenden, welche häufig in der explorativen Datenanalyse und im maschinellen Lernen verwendet wird. Die grundlegende Idee hinter der Hauptkomponentenanalyse besteht darin, dass möglicherweise mehrere Variablen in einem Datensatz dasselbe messen und daher korrelieren. Auf diese Weise können die verschiedenen Dimensionen auf weniger Hauptkomponenten reduziert werden, ohne dass die Aussagekraft des Datensatzes beeinträchtigt wird. In unserem Fall visualisieren wir die Daten mit den Hauptkomponenten und konvertieren ein Python-Skript für Tableau, indem wir Parameter und Filter hinzufügen, um weitere Explorationen durchzuführen.  

PCA-Analyse in Python 

So verwenden wir Python, um unsere Daten mithilfe der PCA zu analysieren:   

Die wichtigsten Teile des Codes, die später in den Tableau-Berechnungen mit den kleinen Anpassungen verwendet werden, sind wie folgt:  

  1. Zuerst laden wir unsere Daten als CSV-Datei.   
  1. Anschließend transformieren wir unsere Daten, sodass sie im mathematischen Standardbereich liegen. Dann geben wir eine Matrix aus und konvertieren sie in einen Datenrahmen, der die neu berechneten Hauptkomponenten enthält.  
  1. Die Visualisierung der Ergebnisse mit einem Streudiagramm kann mit Python dargestellt werden. Dieses Vorgehen beantwortet jedoch nicht viele Fragen. Daher ist zusätzlicher Code erforderlich, um die Daten für eine tiefere Analyse aufzubereiten. Tableau ermöglicht umfassendere Explorationen, bietet Infrastruktur und visualisiert die Ergebnisse. Die Anpassung vom Python-Code wird detailliert im nächsten Abschnitt erklärt.  

Unser Python-Code kann wie folgt gestaltet sein: 

  1. Wir laden unsere Bibliotheken und Datensätze.
Python Skript – Laden der Bibliotheken und Daten
Abb.1: Python Skript – Laden der Bibliotheken und Daten

2. Hier erfolgt die zentrale Data Science Operation, bei der wir unsere Daten und Hauptkomponenten skalieren.

Python Skript – Hauptkomponenten Erstellen
Abb.2: Python Skript – Hauptkomponenten Erstellen

3. Jetzt haben wir unseren Auslieferungscode, der für die Visualisierung verwendet werden kann.

Python Skript - Streudiagramm Python
Python Skript - Streudiagramm Python
Abb.4: Python Skript – Streudiagramm Python

Python-Code für Tableau anpassen 

Jetzt verwenden wir Tableau, um Berechnungen mit Python-Skripten und Parametern zu erstellen, die eine dynamische Navigation und Auswahl verschiedener Hauptkomponenten ermöglichen. Dafür sind zwei wesentliche Änderungen am Code erforderlich, um ihn für Tableau anzupassen:

  1. Änderung am Leseabschnitt am Anfang des Codes zum Importieren der Daten

Wir lesen keine Daten aus einer CSV-Datei mehr ein, sondern beziehen sie direkt aus Tableau und übergeben sie an Python. Der Abschnitt zum CSV-Import entfällt und wird durch die integrierte Tableau-Funktionalität (DataFrame als neue Datenstruktur) ersetzt (siehe Abbildung 6).

Wir wählen die Variablen aus, die wir übergeben möchten. Diese werden automatisch auch in unserem Skript als Variablen codiert. Zum Beispiel wird „Miles per Gallon“ als _arg1 definiert, was dem Feld „Mpg“ in unserer Berechnung entspricht. Dann erstellen wir ein Dictionary aus diesen Variablen und konstruieren einen Datenrahmen mit der Pandas-Bibliothek.

Python Skript für Laden der Daten
Abb.5: Python Skript für Laden der Daten
Tableau Berechnung, Laden der Daten
Abb.6: Tableau Berechnung, Laden der Daten

Der Mittelteil des Codes bleibt wie zuvor. Dies bedeutet, dass wir unsere Daten skalieren, die Komponenten extrahieren und die Ergebnisse als Matrix erzeugen.

Python Skript, Konvertierung der daten
Abb.7: Python Skript, Konvertierung der Daten
Tableau Berechnung, Konvertierung der Daten
Abb.8: Tableau Berechnung, Konvertierung der Daten

2. Änderung des Datenformats für Tableau  

Die zweite wesentliche Änderung besteht darin, das richtige Datenformat an Tableau zurückzugeben. Tableau erwartet für ein berechnetes Feld eine Spalte mit Ergebnisdaten. Daher entfernen wir den Visualisierungsanteil unseres Codes und verwenden Python, um eine Liste der Hauptkomponenten zurückzugeben. Wir nutzen hierfür _arg8[0], um die gewünschte Spalte aus den neu zerlegten Daten auszuwählen.

Tableau Berechnung, Änderung des Datenformats
Abb.9: Tableau Berechnung, Änderung des Datenformats

Tableau Dashboard  

Im nächsten Schritt nutzen wir Tableau, um die Daten zu betrachten. Wir verwenden unsere Berechnungen, die den hochdimensionalen Datensatz auf zweidimensionale Hauptkomponenten reduzieren, und erstellen eine Ansicht. Ein Beispiel für ein entsprechendes Dashboard finden Sie hier: Tableau Public 

Abschließend können wir dann unsere Parameter (Variablenauswahl im Dashboard) verwenden, um mehr über die Daten zu erfahren. Zum Beispiel können wir eine unserer definierten Variablen auswählen und die Gruppe von Fahrzeugen mit ähnlichen Merkmalen sehen. Darüber hinaus können wir verschiedene Aktionen hinzufügen, um weitere Erkenntnisse über die Daten zu entdecken. 

Fazit: 

Die Integration von Tableau und TabPy ermöglicht es Organisationen, das volle Potenzial ihrer Daten zu erschließen, indem sie die Stärken der Datenvisualisierung und fortgeschrittenen Analytik kombiniert. Durch die nahtlose Integration der Python-Skripte in Tableau können Benutzer komplexe Analysen durchführen, prädiktive Modelle erstellen und handlungsorientierte Einblicke direkt in ihren Tableau-Dashboards ableiten. Diese Fusion von Visualisierungs- und Analysefähigkeiten ermöglicht es Organisationen, datenbasierte Entscheidungen mit Zuversicht zu treffen, was Innovation und Wettbewerbsvorteile in der heutigen schnelllebigen Geschäftswelt vorantreibt.