Daten Plotten mit bestimmter Überschrift

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Ramps
User
Beiträge: 1
Registriert: Mittwoch 14. März 2018, 22:36

Daten Plotten mit bestimmter Überschrift

Beitragvon Ramps » Mittwoch 14. März 2018, 23:02

Hallo,
ich wollte einfach nur aus einer Tabelle eine Größe raussuchen und plotten.
Die Tabelle sieht ungefähr so aus:

Bild

Die erste Zeile beinhaltet die Bezeichnung, die zweite die Einheit (auch m^3 oder kg/h usw.), die dritte überflüssigen Kram und dahinter kommen Werte.

Es gibt noch mehr Spalten die mich aber nicht interessieren. Jede Tabelle ist von der Spaltenzahl anders aufgebaut. Der Kopf ist jedoch gleich. Das heißt ich kann dem Programm nicht für jede Datei sagen "geh in Spalte 3 und lese alle Zeilen". Sondern ich muss die Spalte am Namen erkennen lassen und dann die Werte darunter auslesen. Da kommt schon das nächste Problem. Und zwar haben einige Spalten Umlaute oder Leerzeichen. Wenn ich diese auslesen möchte, werden die Spalten nicht gefunden und es stehen anstelle der Werte nur "NaN".

Und selbst wenn ich einen Array habe aus zwei Spalten mit den Titeln "Zeit" und "Größe1", dann bekomme ich es nicht geplottet bzw. ich möchte, dass z.B. sagen das x= Zeit ist und y = "Größe1" und dies dann plotten. Leider bekomme ich es nicht hin. Ich hoffe Ihr habt eine Idee.


  1. import pandas as pd
  2. import numpy as np
  3. import plotly
  4.  
  5. df = pd.read_csv('Sheet_test.csv', sep=';',encoding='iso-8859-1',keep_default_na=False) # CSV einlesen, mit Umlauten und ohne NaN in den Zeilen
  6. df = df.drop(df.index[1:2]) # die zweite und dritte Zeile löschen, damit nur die Überschrift und die Werte übrig bleiben
  7. df = pd.DataFrame(df, columns=['Zeit','Größe1]) # Aus der Tabelle nur die Spalten rausschreiben die ich auch plotten möchte
  8.  
  9.  
  10. # Versuch es zu plotten
  11. trace = go.Scatter(
  12.                    x=df['Zeit'], y=df['Größe1'] # Zuweisen der Spalten auf x und y ...
  13.                  )
  14. layout = go.Layout(title='Toller Titel')
  15. fig = go.Figure(data=[trace], layout=layout)
  16. py.iplot(fig)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder