Seite 1 von 1

Heatmap aus CSV Datei erstellen

Verfasst: Montag 26. Oktober 2020, 16:02
von Marvin93
Hallo,

ich habe eine CSV Datei aus welcher ich gerne eine Heatmap erstellen würde. Ich dachte mir ich schreibe die in eine große Matrix, aber kriege das nicht wirklich hin.

Code: Alles auswählen

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Dataset = pd.read_csv("Results.csv", header=0)
spalten = ['Generation', 'Population', 'Accuracy mean']
x = Dataset[spalten]
print(x)

0              1           1       0.496667
1              1           2       0.496667
2              1           3       0.496667
3              1           4       0.496667
4              1           5       0.686667
...          ...         ...            ...
1220          35          31       0.801250
1221          35          32       0.806042
1222          35          33       0.804792
1223          35          34       0.803542
1224          35          35       0.804583
Die Heatmap soll das Format 35x35 habe. Die Werte in der ersten Spalte zählen bis 35 hoch (das sollen die Zeilen der Heatmap sein) und für jeden Wert in der ersten Spalte, zählen die Werte in der Zweiten Spalte auch bis 35 hoch (Das sollen die Spalten der Heatmap werden). Die Werte in der dritten Spalte sollen durch die Heatmap präsentiert werden. Egal, ob Matplotlib oder Seaborn oder sonst was. Ich weiß nicht was am besten funktioniert.
Ich habe jetzt schon versucht das in eine Matrix oder ein Dictionary zu schreiben, aber irgendwie klappt das alles nicht so richtig. Ich habe Probleme dabei an die Werte in der Tabelle zu kommen und die vernünftig zu strukturieren. Hoffe jemand kann mir dabei helfen.

Gruß
Marvin

Re: Heatmap aus CSV Datei erstellen

Verfasst: Montag 26. Oktober 2020, 16:54
von einfachTobi
Du benötigst nur die letzte Spalte aus deinem DataFrame. Eigentlich benötigst du hier auch kein DataFrame. Einfacher ist es, die Daten in ein 35x35 Numpy-Array zu packen. Das importierst du hier ja bereits - verwendest es aber gar nicht. Namen von Variablen werden im snake_case geschrieben, also klein mit Unterstrichen.
Ungetestet:

Code: Alles auswählen

import matplotlib.pyplot as plt
import numpy as np

dataset = np.loadtxt("Results.csv", skiprows=1)[:, 2].reshape(35, 35)
fig, ax = plt.subplots()
heatmap = ax.imshow(dataset)
plt.show()