Hallo Zusammen,
irgendwie finde ich nicht die richtige Syntax um zwei Vektoren in zwei Spalten einer csv einzufügen.
Zeilenweise stellt kein Problem dar!
Könnt ihr mir ein Codesample zeigen, wie ihr sowas macht?
Viele Grüße
Inco
np.Array in csv spaltenweise einfügen
@incoggnito: zuerst mußt Du aus den Vektoren eine nx2-Matrix machen. Dann sollte das Speichern kein Problem sein.
Code: Alles auswählen
ab = np.hstack([a[:,None], b[:,None]])
-
- User
- Beiträge: 53
- Registriert: Donnerstag 27. April 2017, 09:28
funzt leider nicht, die Tabelle in python passt, ... im csv wird alles in eine Spalte geschrieben.
Brauche ich dafür einen speziellen Delimiter?
Brauche ich dafür einen speziellen Delimiter?
Code: Alles auswählen
data= hstack([D[:,None],ef[:,None]])
savetxt(csvfile, data)
-
- User
- Beiträge: 53
- Registriert: Donnerstag 27. April 2017, 09:28
Aktuell so:
D --> float64 (1, )--> array(58.9....)
ef --> float64 (1, ) --> array(5159.6...)
D --> float64 (1, )--> array(58.9....)
ef --> float64 (1, ) --> array(5159.6...)
-
- User
- Beiträge: 53
- Registriert: Donnerstag 27. April 2017, 09:28
Hat sich erledigt:
Versteh zwar nicht, warum das im .txt mit dem Tabstopp nicht genauso funktioniert ... aber dann halt so.
Code: Alles auswählen
data= hstack([D[:,None],ef[:,None]])
savetxt(csvfile, data, fmt="%2.3f", delimiter=';', newline='\n')
-
- User
- Beiträge: 53
- Registriert: Donnerstag 27. April 2017, 09:28
Etwas off Topic, aber wie schafft man es die Dezimaltrennzeichen durch Kommas zu ersetzen?
- noisefloor
- User
- Beiträge: 3854
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Computer nutzen die amerikanischen Notation, d.h. der Punkt trennt die Nachkommastellen ab. Bei Excel & Co kann man das halt über die lokalen Ländereinstellungen ändern. NumPy kann das AFAIK nicht, Pandas kann es wohl aber.
Du könntest auf die exportierte CSV Datei noch ein Skript loslassen, was die Punkte durch Kommas ersetzt. Oder, falls es um den Export in eine Tabellenkalkulation geht, der Tabellenkalkulation beim Import mitteilen, dass das Trennzeichen für die Nachkommastellen ein Punkt ist.
Gruß, noisefoor
Computer nutzen die amerikanischen Notation, d.h. der Punkt trennt die Nachkommastellen ab. Bei Excel & Co kann man das halt über die lokalen Ländereinstellungen ändern. NumPy kann das AFAIK nicht, Pandas kann es wohl aber.
Du könntest auf die exportierte CSV Datei noch ein Skript loslassen, was die Punkte durch Kommas ersetzt. Oder, falls es um den Export in eine Tabellenkalkulation geht, der Tabellenkalkulation beim Import mitteilen, dass das Trennzeichen für die Nachkommastellen ein Punkt ist.
Gruß, noisefoor
-
- User
- Beiträge: 53
- Registriert: Donnerstag 27. April 2017, 09:28
hallo,
wie macht man mit pandas ein .csv, dass statt den Punkten bei den Nachkommastellen Kommas ausgibt?
gruß inco
wie macht man mit pandas ein .csv, dass statt den Punkten bei den Nachkommastellen Kommas ausgibt?
gruß inco
- noisefloor
- User
- Beiträge: 3854
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
die Methode `to_csv' eines Dataframes kennt das (optional) Argument `decimal`, mit dem du das Trennzeichen festlegen kannst. Doku: http://pandas.pydata.org/pandas-docs/st ... o_csv.html
Gruß, noisefloor
die Methode `to_csv' eines Dataframes kennt das (optional) Argument `decimal`, mit dem du das Trennzeichen festlegen kannst. Doku: http://pandas.pydata.org/pandas-docs/st ... o_csv.html
Gruß, noisefloor
-
- User
- Beiträge: 53
- Registriert: Donnerstag 27. April 2017, 09:28
Hat so mit dem numpy.array geklappt:
VG Inco
Code: Alles auswählen
Array1=Matrix1[:,0]
Array2=Matrix2[:,0]
csvfile=path2result + name + '.csv'
Data= hstack([Array1[:,None],Array2[:,None]])
df = DataFrame(Data, columns=['Spaltenname1','Spaltenname2'])
df.to_csv(csvfile, index=False, sep=';', decimal=',',float_format='%.3f')