
Le 08/09/2014 16:41, Sturla Molden a écrit :
Stefan Otte <stefan.otte@gmail.com> wrote:
stack([[a, b], [c, d]])
In my case `stack` replaced `hstack` and `vstack` almost completely.
If you're interested in including it in numpy I created a pull request [1]. I'm looking forward to getting some feedback!
As far as I can see, it uses hstack and vstack. But that means a and b have to have the same number of rows, c and d must have the same rumber of rows, and hstack((a,b)) and hstack((c,d)) must have the same number of columns.
Thus it requires a regularity like this:
AAAABB AAAABB CCCDDD CCCDDD CCCDDD CCCDDD
What if we just ignore this constraint, and only require the output to be rectangular? Now we have a 'tetris game':
AAAABB AAAABB CCCCBB CCCCBB CCCCDD CCCCDD
or
AAAABB AAAABB CCCCBB CCCCBB CCCCBB CCCCBB
stack([stack([[a], [c]]), b])
This should be 'stackable', yes? Or perhaps we need another stacking function for this, say numpy.tetris?
The function should be implemented for its name only ! I like it !
And while we're at it, what about higher dimensions? should there be an ndstack function too?
Sturla