[Numpy-discussion] Rationale for atleast_3d
Travis Oliphant
oliphant at ee.byu.edu
Fri Sep 22 15:57:10 EDT 2006
Bill Baxter wrote:
>26 weeks, 4 days, 2 hours and 9 minutes ago, Zdeněk Hurák asked why
>atleast_3d acts the way it does:
>http://article.gmane.org/gmane.comp.python.numeric.general/4382/match=atleast+3d
>
>He doesn't seem to have gotten any answers. And now I'm wondering the
>same thing. Anyone have any idea?
>
>
This function came from scipy and was written by somebody at Enthought.
I was hoping they would respond. The behavior of atleast_3d does make
sense in the context of atleast_2d and thinking of 3-d arrays as
"stacks" of 2-d arrays where the stacks are in the last dimension.
atleast_2d converts 1-d arrays to 1xN arrays
atleast_3d converts 1-d arrays to 1xNx1 arrays so that they can be
"stacked" in the last dimension. I agree that this isn't consistent
with the general notion of "pre-pending" 1's to increase the
dimensionality of the array.
However, array(a, copy=False, ndmin=3) will always produce arrays with
a 1 at the begining. So at_least3d is convenient if you like to think
of 3-d arrays of stacks of 2-d arrays where the last axis is the
"stacking" dimension.
-Travis
More information about the NumPy-Discussion
mailing list