In diesem Blogbeitrag möchte ich über meine Erfahrung mit der Visualisierung von Daten unter Zuhilfenahme einer KI berichten. Ziel war es einen CSV-Datensatz auszuwerten und mithilfe von Python, Pandas und Matplotlib zu visualisieren. Wie der Code dafür aussehen könnte, habe ich in diesem Artikel erklärt. Nun sollten Mistrals Le Chat, Gemini und DeepSeek zeigen, was sie können. Dabei habe ich jeweils die kostenlosen Modelle verwendet. Das dies grundsätzlich mit einer KI möglich ist, hatte ich bereits in diesem Blogbeitrag gezeigt, wobei für die Umsetzung ChatGPT genutzt wurde.
Mistrals Le Chat
Le Chat habe ich zunächst gefragt, ob ich überhaupt eine CSV-Datei hochladen könne. Dies wurde leider verneint:
Ich kann keine Dateien direkt empfangen oder verarbeiten. Aber ich kann dir helfen, den Python-Code zu schreiben, um eine CSV-Datei zu lesen und ein Liniendiagramm mit Pandas und Matplotlib zu erstellen.
Immerhin führte der Code, der mitgeliefert wurde, in die richtige Richtung:
import pandas as pd
import matplotlib.pyplot as plt
# Lade die CSV-Datei
df = pd.read_csv('deine_datei.csv')
# Angenommen, deine CSV-Datei hat Spalten 'Datum' und 'Wert'
df['Datum'] = pd.to_datetime(df['Datum']) # Konvertiere die 'Datum'-Spalte in datetime-Format
df.set_index('Datum', inplace=True) # Setze die 'Datum'-Spalte als Index
# Erstelle das Liniendiagramm
plt.figure(figsize=(10, 6))
plt.plot(df.index, df['Wert'], marker='o', linestyle='-')
plt.title('Liniendiagramm')
plt.xlabel('Datum')
plt.ylabel('Wert')
plt.grid(True)
plt.show()
Gemini
Im Gegensatz zu Le Chat bejahte Gemini die Möglichkeit, eine CSV-Datei hochzuladen:
Ja, auf jeden Fall! Ich kann eine CSV-Datei hochladen und daraus mithilfe von Python, Pandas und Matplotlib ein Liniendiagramm erstellen.
Es folgte dann noch eine Anleitung zum Hochladen der Datei:
Datei hochladen: Sende mir die CSV-Datei, die du visualisieren möchtest. Du kannst sie einfach in den Chat ziehen und ablegen oder sie als Anhang senden.
Dann folgte aber die Überraschung: Nachdem die CSV-Datei in den Chat gezogen wurde, erschien eine Fehlermeldung dahingehend, dass der Dateityp nicht unterstützt würde. Nun gut, dachte ich mir, dann öffne ich über das Plus-Symbol den Dateimanager und wähle die CSV-Datei aus. Aber auch dies funktionierte nicht. Der Dateiname wurde grau dargestellt, die Datei ließ sich nicht auswählen.
Nachdem ich Gemini mein Problem mitgeteilt hatte, wurde der Python-Code angezeigt, mit dem man zum Ziel gelangen konnte:
import pandas as pd
import matplotlib.pyplot as plt
# Daten einlesen (ersetze 'your_file.csv' mit dem tatsächlichen Dateinamen)
df = pd.read_csv('your_file.csv')
# Liniendiagramm erstellen
plt.plot(df['Wintersemester'], df['Christian-Albrechts-Universitaet'])
# Beschriftungen hinzufügen
plt.xlabel('Wintersemester')
plt.ylabel('Christian-Albrechts-Universitaet')
plt.title('Liniendiagramm der Daten')
# Diagramm anzeigen
plt.show()
DeepSeek
Der dritte Kandidat war DeepSeek. Die Frage lautete: „Kann ich eine CSV-Datei hochladen, damit Du mithilfe von Python, Pandas und Matplotlib ein Liniendiagramm erstellst? Für die x-Achse sollen die Daten der Spalte „Wintersemester“, für die y-Achse die Daten der Spalte „Christian-Albrechts-Universitaet“ verwendet werden.“
Dies wurde von DeepSeek bejaht und nach dem Hochladen der Datei, erhielt ich folgenden Code:
import pandas as pd
import matplotlib.pyplot as plt
# CSV-Datei einlesen
df = pd.read_csv('kiel_students.csv', delimiter=';')
# Liniendiagramm erstellen
plt.figure(figsize=(12, 6))
plt.plot(df['Wintersemester'], df['Christian-Albrechts-Universitaet'], marker='o', linestyle='-', color='b')
# Diagramm beschriften
plt.title('Entwicklung der Studierendenzahlen an der Christian-Albrechts-Universität Kiel', fontsize=14)
plt.xlabel('Wintersemester', fontsize=12)
plt.ylabel('Anzahl der Studierenden', fontsize=12)
# X-Achse drehen, damit die Beschriftungen besser lesbar sind
plt.xticks(rotation=45)
# Grid anzeigen
plt.grid(True)
# Layout anpassen, damit alles gut passt
plt.tight_layout()
# Diagramm anzeigen
plt.show()
Außerdem wurde der Code von DeepSeek ausführlich erklärt. Und das Ergebnis kann sich sehen lassen. Denn nach der Ausführung dieses Python-Skripts erscheint ein neues Fenster mit folgendem Liniendiagramm:
Fazit
KI kann bei der Datenvisualisierung hilfreich sein, es kommt aber auf den Anbieter an. Nur DeepSeek konnte eine CSV-Datei lesen. Der daraufhin gezeigte Code funktionierte sofort, so dass kein weiterer Dialog mit dem Sprachmodell erforderlich war. Damit zeigte DeepSeek ein besseres Ergebnis als ChatGPT in meinem letzten Test, bei dem mir zunächst fehlerhafter Code präsentiert wurde. Über den Dialog mit dem Sprachmodell kam ich aber auch bei ChatGPT letztendlich zu einem guten Ergebnis.
Im Gegensatz zu den von mir gezeigten Beispielen, schlagen die Sprachmodelle die Verwendung von plt.figure()
vor. Ich nutze in meinen Beispielen dagegen häufig plt.subplots()
. An der Verwendung von plt.figure()
ist aber nichts auszusetzen, da in diesem Beispiel nur ein Plot für die Abbildung verwendet werden soll. Die Flexibilität, die man mit plt.subplots()
erreichen würde, spielt hier also keine Rolle.