I haben eine Datendatei, in der die ersten 4 CSV der Schwimmer sind, und der letzte Wert ist eine Zeichenfolge, die für diese ReiheWie lade ich Daten aus einer Textdatei und lege sie dann in ein Wörterbuch ein?
.5, .3, .2, .1, FAA
.2., .3, .5., .2, FXX
.5., .3, .2 , .9, FXX
.3, .3, .9, .3, FCA
Ich möchte, laden, die Datei in eine numpy Array, das ihnen ein Etikett repräsentiert organisiert von Klassen, so wäre der Ausgang so etwas wie:
FAA: [[.5, .3, .2, .1]]
FXX: [[.2., .3, .5., .2],
[.5., .3, .2 , .9]]
FCA: [.3, .3, .9, .3]
Es ist sehr ähnlich, aber ich konnte nicht in meinem eigenen Code zu arbeiten: Best way to separate data into 3 classes
Dieser Code funktioniert, aber ich kann nicht herausfinden, wie man es nicht innerhalb eines jeden Datenpunkt das Etikett hinzuzufügen:
import numpy as np
data = np.genfromtxt('data.txt', delimiter=',', dtype=None, names=('length', 'width', 'distance', 'strength', 'label'))
separated = {}
for i in range(len(data)):
vector = data[i]
if (vector[-1] not in separated):
separated[vector[-1]] = []
separated[vector[-1]].append(vector)
for i in range(len(separated)):
print separated
print '\n'
Sobald ich, dass die Art, wie ich es will, werde ich den Mittelwert und Co Varianzmatrix berechnen von dort.
EDIT: Wenn ich den Code aus der gelinkten Seite laufen lasse, erhalte ich folgende Fehlermeldung:
filtered = [map(float, item[:4]) for item in data if item[4] == 'Iris-virginica']
IndexError: invalid index
Wie ist der Index ungültig?
Bitte poste nicht in externen Code-Repositories und stelle keine Fragen zu extern gepostetem Code. – DyZ