[Numpy-discussion] np.vstack vs. np.stack
wieser.eric+numpy at gmail.com
Thu Nov 9 17:11:17 EST 2017
I think the primary problems with it are:
- A poor definition of “vertical” in the world of stacked matrices - in
np.linalg land, this means axis=-2, but in vstack land, it means axis=0.
- Mostly undocumented auto-2d behavior that doesn’t make you think well
enough about dimensions. Numpy deliberately distinguishes between “row
vectors” (1, N) and vectors (N,), so it’s a shame when APIs like vstack
and np.matrix try to hide this distinction.
On Thu, 9 Nov 2017 at 13:59 Mark Bakker <markbak at gmail.com> wrote:
On 11/09/2017 04:30 AM, Joe wrote:
>> > Hello,
>> > I have a question and hope that you can help me.
>> > The doc for vstack mentions that "this function continues to be
>> > supported for backward compatibility, but you should prefer
>> > np.concatenate or np.stack."
>> > Using vstack was convenient because "the arrays must have the same shape
>> > along all but the first axis."
>> > So it was possible to stack an array (3,) and (2, 3) to a (3, 3) array
>> > without using e.g. atleast_2d on the (3,) array.
>> > Is there a possibility to mimic that behavior with np.concatenate or
>> > np.stack?
> > Joe
> Can anybody explain why vstack is going the way of the dodo?
> Why are stack / concatenate better? What is 'bad' about vstack?
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion