Ist das, was Sie versuchen zu tun (aber w ith viel größere Arrays)?
In [193]: sum([np.ones((2,3)),np.arange(6).reshape(2,3)])
Out[193]:
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
500 dimensions each
ist eine unklare Beschreibung. Meinst du ein Array mit Form (500,)
oder mit ndim==500
? Wenn letzteres, wie viele Elemente insgesamt gibt es.
Die Tatsache, dass es eine Liste von 4 dieser Arrays ist, sollte keine große Sache sein. Was ist die Zeit für array1 + array2
?
Wenn die Arrays nur 500 Elemente haben jeweils die Summe der Zeit ist trivial:
In [195]: timeit sum([np.arange(500),np.arange(500),np.arange(500),np.arange(500)])
10000 loops, best of 3: 20.9 µs per loop
auf der anderen Seite eine Summe von Arrays mit vielen kleinen Abmessungen langsamer einfach ist, weil eine solche Anordnung viel größer ist
In [204]: x=np.ones((3,)*10)
In [205]: timeit z=sum([x,x,x,x])
1000 loops, best of 3: 1.6 ms per loop
Ihre Beschreibung des Problems ist nicht eindeutig. – hpaulj