0

zu montieren Könnte mir bitte jemand helfen! Ich habe ein Wörterbuch mit Schlüssel und Werten. Jeder Schlüssel ist eine Clusterbezeichnung, und die Werte, die den Schlüsseln zugeordnet sind, sind die Datenpunkte in diesem Cluster. Jeder Datenpunkt ist eine Liste mit 60 Spalten (dh eine Zeitreihendaten mit Länge 60) .Ich möchte diese Zeitreihe reihenweise für die überwachte Klassifizierung zusammenstellen, so dass jeder Zeitreihendatenpunkt den Schlüssel (etwa 0) als seinen letzten Wert in der Reihe als Klasse hat (zB: 0,1,0,3,0,5, 0) wo der letzte Wert Null der Klassenwert ist. Hier ist ein Teil meiner realen Daten.Wie Zeitreihendaten für überwachte Klassifizierung aus Wörterbuch-Ausgabe in Python

{0: Array ([[28,7812, 34,4632, 31,3381, ..., 33,3759, 25,4652, 25,8717]

[ 24.8923, 25.741 , 27.5532, ..., 34.2484, 32.1005, 26.691 ], 

    [ 31.3987, 30.6316, 26.3983, ..., 33.9002, 29.5446, 29.343 ], 
    ..., 
    [ 24.4293, 39.7616, 40.1207, ..., 42.3223, 31.9421, 32.8973], 

    [ 32.3175, 39.9719, 40.6855, ..., 28.8281, 41.7112, 35.3453], 

    [ 25.7836, 34.1285, 42.6593, ..., 34.4315, 32.155 , 34.8388]]), 

1: Array ([[35,7709, 34,396, 35,2249, ... , 32,4859, 30,7772, 24,5854],

[ 24.9706, 33.8315, 46.9423, ..., 24.1889, 11.4137, 13.1961], 

    [ 35.5351, 41.7067, 39.1705, ..., 37.7721, 37.2248, 32.9494], 
    ..., 
    [ 28.0747, 41.7835, 42.1198, ..., 38.0344, 46.4582, 44.4323], 

    [ 33.6696, 38.6754, 39.7419, ..., 34.9395, 36.9095, 39.7494], 

    [ 30.5729, 41.0741, 44.9793, ..., 24.353 , 19.7201, 12.7513]])} 

in einfachen Worten, nur Interesse für jede Zeile die Werte, ohne die Klammern und dann in die Reihe seiner Schlüssel als letzte Nummer in der Reihe anhängen. Danke

Antwort

0

Ich bin nicht sicher, ich Ihr Eingabeformat richtig verstanden habe ...

input = {0: [['0', '0']], 1: [['0', '0']]} 
output = [] 
for key in input.keys(): 
    input[key].append(key) 
    output.append(input[key]) 
+0

vielen Dank Thomas. Es wird jedoch ein Fehler ausgegeben, dass numpy array kein Objektattribut append hat. Die Werte im Array sind float nicht string. – Umar

+0

output.append (numpy.append (Eingabe [Taste], Taste)) Sie können das oben anstelle der 2 Zeilen in der for-Schleife versuchen – thomas

+0

Danke für das Update – Umar

0

old_cluster = []

for i in range (0, len (toy_data)):

d_cluster =np.append(toy_data[i], int(labels[i])) 

f_cluster= d_cluster.tolist() 

old_cluster.append(f_cluster) 

data_cluster = np.asarray (old_cluster)

Schreibt Daten in eine Textdatei ohne die Klammer, jeden Punkt auf einer Linie mit

sein Cluster-Label als letzter Punkt.

mit open ('mytest.txt', 'w') als outfile:

for item in data_cluster: 

    outfile.write("%s\n" % ','.join(map(str,item)))