2DArray als neue Spalten in vorhandenes Array einfügen(numpy
Verfasst: Mittwoch 25. August 2010, 11:16
Hallo!
Ich bin noch ein relativer Programmier-Frischling, also entschuldigt bitte ungenaue Ausdrücke oder doofe Fragen...
Ich habe zwei Tabellen mit mehreren Spalten (enthalten ausschließlich Zahlen), die ich mit genfromtxt einlese (von einem Trennzeichen-getrennten txt-File, funktioniert soweit).
Jetzt möchte ich diese beiden Tabellen zu einer Tabelle zusammenfügen, also die Spalten aus Tabelle 2 in Tabelle 1 als neue Spalten anfügen.
Dazu habe ich die Funktionen hstack und concatenate gefunden. Beide funktionieren, solange ich für meine Arrays keine Spaltennamen (names) definiere, bzw. unterschiedliche dtypes (ich habe theoretisch int und float). Da ich jedoch eine ganze Menge solcher Tabellen hinten anfügen möchte, brauche ich unbedingt die Spaltennamen, da es sonst im Nachhinein schwierig wird, diese wieder zu identifizieren.
Gibt es eine Möglichkeit, Arrays mit Spaltennamen hintereinanderzuhängen? Noch besser wäre auch, wenn ich unterschiedliche dtypes verwenden könnte, aber notfalls kann ich auch alles in float umwandeln.
Hier noch ein bisschen Code, wie ich ihn verwende:
So funktionierts:
so jeweils nicht:
und die Fehlermeldung lautet:
Hat jemand eine Idee?
Vielen Dank für jede Hilfe!
Selda
Ich bin noch ein relativer Programmier-Frischling, also entschuldigt bitte ungenaue Ausdrücke oder doofe Fragen...
Ich habe zwei Tabellen mit mehreren Spalten (enthalten ausschließlich Zahlen), die ich mit genfromtxt einlese (von einem Trennzeichen-getrennten txt-File, funktioniert soweit).
Jetzt möchte ich diese beiden Tabellen zu einer Tabelle zusammenfügen, also die Spalten aus Tabelle 2 in Tabelle 1 als neue Spalten anfügen.
Dazu habe ich die Funktionen hstack und concatenate gefunden. Beide funktionieren, solange ich für meine Arrays keine Spaltennamen (names) definiere, bzw. unterschiedliche dtypes (ich habe theoretisch int und float). Da ich jedoch eine ganze Menge solcher Tabellen hinten anfügen möchte, brauche ich unbedingt die Spaltennamen, da es sonst im Nachhinein schwierig wird, diese wieder zu identifizieren.
Gibt es eine Möglichkeit, Arrays mit Spaltennamen hintereinanderzuhängen? Noch besser wäre auch, wenn ich unterschiedliche dtypes verwenden könnte, aber notfalls kann ich auch alles in float umwandeln.
Hier noch ein bisschen Code, wie ich ihn verwende:
So funktionierts:
Code: Alles auswählen
table1 = np.genfromtxt(dateiaktuell, delimiter=";", skip_header=1)
table2 = np.genfromtxt(dateiaktuell2, delimiter=";", skip_header=1)
np.hstack((table1,table2))
Code: Alles auswählen
table1 = np.genfromtxt(dateiaktuell, delimiter=";", skip_header=1, dtype = (int, float, float,int,int,int))
table2 = np.genfromtxt(dateiaktuell2, delimiter=";", skip_header=1, dtype = (int, float))
np.hstack((table1,table2))
table1 = np.genfromtxt(dateiaktuell, delimiter=";", names=True)
table2 = np.genfromtxt(dateiaktuell2, delimiter=";", names=True)
np.hstack((table1,table2))
Code: Alles auswählen
return _nx.concatenate(map(atleast_1d,tup),1)
TypeError: expected a readable buffer object
Vielen Dank für jede Hilfe!
Selda