Hallo, irgendwie komme ich aktuell mit einem total simplen Problem nicht weiter. Ich bekomme Reihen von Messwerten (egal ob nun von einem Datenerfasungseinheit oder einfach aus einer Excel Datei gelesen). Dieses Array mit Daten gehört immer zu einem Zeitpunkt. Also so etwas wie [Zeit, Sensor1, Sensor2, Sensor3] usw. Nun würde ich die Daten gerne in einem Array ablegen in der Form: [Zeit1, Sensor1, Sensor2, Sensor3] [Zeit2, Sensor1, Sensor2, Sensor3] [Zeit3, Sensor1, Sensor2, Sensor3] [Zeit4, Sensor1, Sensor2, Sensor3] usw. Ich komme dabei irgendwie nicht weiter. Wie erstelle ich am schlausten so ein Array, wenn die Daten nach und nach reinkommen? Und wie übergebe ich am Ende zb matplotlib zwei Spalten aus diesem Array. zB Zeit und Sensor2? Könnt ihr mir einen Suchtipp geben? Ich habe schon numpy mit hstack usw gefunden, aber trotzdem komme ich nicht weiter Am Ende hätte ich es gerne so, dass es unabhängig von der Anzahl der Sensoren funktioniert.
> Nun würde ich die Daten gerne in einem Array ablegen in der Form: >
1 | AA = [ |
2 | [Zeit1, Sensor1, Sensor2, Sensor3], |
3 | [Zeit2, Sensor1, Sensor2, Sensor3], |
4 | [Zeit3, Sensor1, Sensor2, Sensor3], |
5 | [Zeit4, Sensor1, Sensor2, Sensor3], |
6 | ] |
7 | |
8 | AA.append([Zeit5, Sensor1, Sensor2, Sensor3]) |
> Wie erstelle ich am schlausten > so ein Array, wenn die Daten nach und nach reinkommen? Einfach neu hinten anfügen... > Und wie übergebe ich am Ende zb matplotlib zwei Spalten aus diesem > Array. zB Zeit und Sensor2? For-Schlaufe? Die Verfeinerung davon dann List Comprehension
1 | BB = [ [e[0], e[2]] for e in AA ] |
<https://docs.python.org/3/tutorial/datastructures.html>
Das ist ja viel simpler als gedacht und geht ganz ohne numpy. Vielen Dank! Problem gelöst
Steffen schrieb: > Das ist ja viel simpler als gedacht Welcome To Python! ...with batteries included :-)
Ich finde solche Arrays sind doch alles andere als schon. für jeden Eintrag würde ich ein dict empfehlen.
1 | AA = [ |
2 | { "Zeit": Zeit1, "Sensor1" :Sensor1, "Sensor2": Sensor2, "Sensor3": Sensor3}, |
3 | { "Zeit": Zeit2, "Sensor1" :Sensor1, "Sensor2": Sensor2, "Sensor3": Sensor3}, |
4 | { "Zeit": Zeit3, "Sensor1" :Sensor1, "Sensor2": Sensor2, "Sensor3": Sensor3}, |
5 | ] |
6 | |
7 | AA.append({"Zeit": ZeitX, "Sensor1": Sensor1, "Sensor2": Sensor2, "Sensor3": Sensor3}) |
dann kannst du über die keys auf die Daten zugreifen das erhöht das Verständnis ungemein.
1 | for event in AA: |
2 | print(event["Zeit"], event["Sensor3"]) |
gibt dann alle werte von Sensor 3 zu jeden Zeitpunkt aus.
Der most Pythonic way wäre eine Liste aus namedtuple Instanzen. Google hilft.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.