Spyder 3.6, Axis Error bei Verarbeitung eines CSV-Files

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
cornynellessen
User
Beiträge: 1
Registriert: Donnerstag 18. Januar 2018, 13:45

Hallo zusammen,

für meine Bachelorarbeit arbeite ich mit einem Pyhton-Skript, dass ich von meinem Betreuer bekommen hab und mir Probleme macht. Da es bei ihm ohne Fehler durchläuft bei mir aber nicht, glaube ich, dass es an der Pythonumgebung "Spyder" Version 3.6 liegt, kann mir aber selber nicht mehr weiterhelfen.
Es wird folgender Fehler ausgegeben:
File "/home/conellessen/Desktop/python_auswertung/AuswertungCSV.py", line 171, in <module>
resultingCSV = np.concatenate((pos, resultsCSV), axis=1)

AxisError: axis 1 is out of bounds for array of dimension 1

Der Code-Abschnitt der Probleme macht, ist:
[/code]resultsCSV = []
for i in range(len(ta)):
results = [ta, pmv, ppd, dt, vel, c, laqi, rt, laci]
resultsCSV.append(results)
# insert rows and columns before results
resultingCSV = np.concatenate((pos, resultsCSV), axis=1)
# esxport csv
filenameout = "HL001_Global_"+R[z]+"_"+Occ[k]+"_MCPSRT_V30_T20_mesh3"
#filenameout = "HL001_Global_cR_"+Occ+"_MC"
headerCSV = "row, col, ta, pmv, ppd, dt, v, c_co2, laqi, rt, laci"
np.savetxt(os.path.abspath(filenameout+".csv"), resultingCSV, delimiter=",", fmt='%10.5f', header=headerCSV)
resultingCSV = np.asarray(resultingCSV)[/code]

Dabei sollen die CSV-Datei in seine einzelnen Posititon/Einträge aufgeteilt werden.
Alle nötigen Paket habe ich importiert bzw. nochmal übrprüft, dass diese importiert sind.

Hoffe, dass ich damit mein Problem genau genug beschrieben hab.(Bin ein Python-noob)

Freue mich über alle Tipps und Anregungen. :)
Beste Grüße

Corny
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

@cornynellessen: `pos` hat nicht die Dimensionen, die concatenate erwartet. Die for-Schleife wird so nicht in Python gemacht. Das wäre ein einfaches zip, oder da Du hier ja sowieso schon numpy benutzt, ein concatenate. `filenameout` solltest Du mit .format erzeugen und nicht durch Stringzusammenstückelung. Die Namensgebung ist sehr schlecht. Der Untschied zwischen resultsCSV und resultingCSV wird nicht wirklich deutlich. Bei laqi und laci hat man schnell mal Tippfehler drin und ta, pmv, dt, rt, c oder vel sind auch so kryptisch, dass Du nächste Woche nicht mehr weißt, was das zu bedeuten hat.
Antworten