Neulingfrage: 3D-Array für scipy-Interpolator aufbereiten

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
matti2
User
Beiträge: 2
Registriert: Dienstag 3. März 2026, 11:38

Hallo alle, die das lesen,
ich bin neu bei numpy und scipy, und nicht ganz neu bei Python und hoffe auf Hilfe.

Ich habe die folgende Wertetabelle aus einer JSON-Datei (die ich selbst zusammengestellt habe):

Code: Alles auswählen

[
	[ [35, -15, 7.16, 2.84], [ 35, -10, 8.27, 3.25], [35, -7, 8.98, 3.53], [35, 2, 11.37, 4.54], [35, 7, 12.87, 5.25], [35, 15, 15.56, 6.74] ] ,
	[ [40, -15, 7.00, 2.55], [ 40, -10, 8.81, 2.91], [40, -7, 8.80, 3.14], [40, 2, 11.13, 3.98], [40, 7, 12.58, 4.55], [40, 15, 15.18, 5.71] ],
	[ [50, -15, 6.67, 2.10], [ 50, -10, 7.72, 2.38], [50, -7, 8.38, 2.55], [50, 2, 10.55, 3.16], [50, 7, 11.89, 3.55], [50, 15, 14.29, 4.31] ],
	[ [55, -15, 5.11, 1.92], [55, -10, 5.77, 2.17], [55, -7, 6.19, 2.33], [55, 2, 7.5, 2.85], [55, 7, 8.3, 3.18], [55, 15, 9.6, 3.81] ]
]
Es handelt sich um die Werte einer Wärmepumpe: Vorlauftemperatur, Außentemperatur, Leistung, COP-Wert.

Jeder Eintrag aus 4 Werten besteht aus einem x, y-Wert sowie zwei verschiedenen z-Werten z1 und z2, von denen zunächst nur z1, also der 3. Wert interessant ist. Ich habe das zur Vermeidung von Redundanz so eingetragen.

Ich würde gerne, möglicherweise mit numpy:
- ein neues 3D-Array mit den jeweils 3 ersten von 4 Werten anlegen: x, y, z1
- das Ganze in einen scipy-Interpolator füttern, vermutlich RegularGridInterpolator
- aus beliebigem xy-Werten den Wert z1 (später auch z2) interpolieren

Hat jemand einen Tipp für mich? Vielen Dank im voraus.
Benutzeravatar
__blackjack__
User
Beiträge: 14341
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@matti2: Zur Vermeidung von Redundanz stehen die Punktkoordinaten in jedem innersten JSON-Array‽

Numpy uns Scipy sind ziemlich ausführlich und gut dokumentiert. Einführung, Tutorials, Referenz. Da sollte man die Grundlagen durcharbeiten. Bei Numpy kommt man da an Indexzugriffen nicht vorbei. Also wie man auf Arrayelement und Teilarrays zugreifen kann. Was man da so alles in den eckigen Klammern angeben kann, von Indizes, slices, bis Masken. Das braucht man für die ersten beiden Punkte der Frage.

Die Dokumentationen setzen mehr oder weniger voraus, dass man Python kann. Also falls das noch nicht der Fall ist, dann gibt es auch in der Python-Dokumentation ein Tutorial, welches man mal durchgearbeitet haben sollte.
“It is easier to optimize correct code than to correct optimized code.” — Bill Harlan
matti2
User
Beiträge: 2
Registriert: Dienstag 3. März 2026, 11:38

Danke. Ich versuche mich einzuarbeiten.
Antworten