Durchschnittswerte von Zellen in einem Grid (2D Array) ermitteln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PierreDole
User
Beiträge: 19
Registriert: Sonntag 21. Mai 2017, 20:31
Wohnort: Hambuach

Moin,
ich habe ein Grid-Array mit Zellen. Jede Zelle ist auch ein Array, mit den Elementen [0] = x, [1] = y, [2] = width und [3] = height. Da ich mit verschiedenen dynamisch erstellten Grids arbeite und nicht alle Zellen 100%ig angeordnet sind - einige Zellen und deren Abstände sind 1 px größer oder kleiner - möchte ich das Grid richten, indem ich eine Art Durchschnittszelle ermittle und dann alle Zellen entsprechend anpasse.

Wie ermittlet man eine Durchschnittszelle, ohne alles stumpf durch eine For-Loop durchlaufen zu lassen? Um das Ganze etwas klarer zu veranschaulichen:

Ich versuche den Durschnittswert von jeweils

Code: Alles auswählen

grid[i][0], grid[i][1], grid[i][2] und grid[i][3] 
zu bekommen.
Sirius3
User
Beiträge: 17765
Registriert: Sonntag 21. Oktober 2012, 17:20

Keine Ahnung, was ein Grid-Array ist, und was das mit der Anordnung von Zellen zu tun hat, aber wenn man eine Liste hat, zu deren Werte man den Mittelwert bilden möchte, dann muß man über alle Elemente iterieren.

Code: Alles auswählen

mean_x = statistics.mean(row[0] for row in grid)
Es sei denn, das Array ist ein numpy-Array, dann geht das auch einfacher:

Code: Alles auswählen

mean = np.mean(grid, axis=1)
Antworten