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.
Eric On Thu, 9 Nov 2017 at 13:59 Mark Bakker <mark...@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? > > Thanks, > > Mark > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion