Ich arbeite an einem Projekt, in dem ich eine Liste von Listen mit Datenpunkten (Klonen) und IDs in eine andere Liste sortieren möchte. Um es klar zu sagen, das gewünschte Format ist Cluster [ID, Daten []]. Die Daten sind eine Liste mit 8 Datenpunkten. Das Format, in dem ich jetzt die Listen habe, ist clusterData [clusterId, ...] und eine Liste von IDs und Clustern wie clusterResultData [cloneId, clusterId].Eine Liste in eine andere Liste sortieren
Der Sortierprozess durchgeführt wird, wie folgt:
for i in range(len(clusterResultData)):
clusterId = int(clusterResultData[i][1])
clusters[clusterId].append(clusterData[i])
Die Ausgabe Dies ist eine Liste mit Format Cluster [ClusterID, data [CloneID, ...]. Jeder der "Cluster" ist jedoch mit ALLEN ~ 1000 Datenpunkten gefüllt, während die Punkte über die Cluster verteilt sein sollten.
Wenn es hilft, hier ist der vollständige Code:
clusterResultData = []
clusterData = []
clusterIdList = []
with open("Voorbeeld_clusterresult.txt", "r") as resultFile:
i = 0
for line in resultFile: #doorloopt alle regels in het bestand
if len(line) != 0:
clusterResultData.append(line.split()) #maakt een list met [cloneId, clusterId] voor elke clone
clusterIdList.append(clusterResultData[i][1])
i += 1
amOfClusters = len(set(clusterIdList)) #aantal unieke clusterIds
clusters = amOfClusters * [['']]
with open("Voorbeeld_clusterdata.txt", "r") as resultFile:
i = 0
for line in resultFile:
if len(line) != 0:
clusterData.append(line.split()) #maakt een list met [cloneId, clusterId] voor elke clone
#print clusterData[i], clusterResultData[i]
i += 1
for i in range(len(clusterResultData)):
clusterId = int(clusterResultData[i][1])
clusters[clusterId].append(clusterData[i])
for i in range(amOfClusters):
print i, clusters[i][1] #test, every cluster is exactly identical
und diese sind die Strukturen der beiden txt-Dateien mit Daten:
Voorbeeld_clusterdata.txt:
846160 0.388 0.329 0.69 0.9 0.626 0.621 0.399 0.37
820434 -0.296 -0.503 -0.454 -0.868 -0.721 -0.918 -0.486 -0.582
849103 -0.246 -0.935 -0.277 -0.175 -0.278 -0.075 -0.236 -0.417
...
Voorbeeld_clusterresult .txt:
846160 1
820434 5
849103 4
...
Du bist ein Held! Danke für die extrem schnelle Antwort :) – bdec