Neulingfrage: 3D-Array für scipy-Interpolator aufbereiten
Verfasst: Dienstag 3. März 2026, 12:00
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):
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.
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] ]
]
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.