summaryrefslogtreecommitdiff
path: root/doc/source/reference/routines.array-manipulation.rst
Commit message (Collapse)AuthorAgeFilesLines
* ENH: moveaxis functionStephan Hoyer2016-01-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes GH2039 This function provides a much more intuitive interface than `np.rollaxis`, which has a confusing behavior with the position of the `start` argument: http://stackoverflow.com/questions/29891583/reason-why-numpy-rollaxis-is-so-confusing It was independently suggested several times over the years after discussions on the mailing list and GitHub (GH2039), but never made it into a pull request: https://mail.scipy.org/pipermail/numpy-discussion/2010-September/052882.html My version adds support for a sequence of axis arguments. I find this behavior to be very useful. It is often more intuitive than supplying a list of arguments to `transpose` and also nicely generalizes NumPy's existing axis manipulation routines, e.g., def transpose(a, order=None): if order is None: order = reversed(range(a.ndim)) return moveaxes(a, order, range(a.ndim)) def swapaxes(a, axis1, axis2): return moveaxes(a, [axis1, axis2], [axis2, axis1]) def rollaxis(a, axis, start=0): if axis < start: start -= 1 return moveaxes(a, axis, start)
* Merge pull request #5605 from shoyer/stackCharles Harris2015-05-121-2/+3
|\ | | | | ENH: add np.stack
| * ENH: add np.stackStephan Hoyer2015-05-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation here is to present a uniform and N-dimensional interface for joining arrays along a new axis, similarly to how `concatenate` provides a uniform and N-dimensional interface for joining arrays along an existing axis. Background ~~~~~~~~~~ Currently, users can choose between `hstack`, `vstack`, `column_stack` and `dstack`, but none of these functions handle N-dimensional input. In my opinion, it's also difficult to keep track of the differences between these methods and to predict how they will handle input with different dimensions. In the past, my preferred approach has been to either construct the result array explicitly and use indexing for assignment, to or use `np.array` to stack along the first dimension and then use `transpose` (or a similar method) to reorder dimensions if necessary. This is pretty awkward. I brought this proposal up a few weeks on the numpy-discussion list: http://mail.scipy.org/pipermail/numpy-discussion/2015-February/072199.html I also received positive feedback on Twitter: https://twitter.com/shoyer/status/565937244599377920 Implementation notes ~~~~~~~~~~~~~~~~~~~~ The one line summaries for `concatenate` and `stack` have been (re)written to mirror each other, and to make clear that the distinction between these functions is whether they join over an existing or new axis. In general, I've tweaked the documentation and docstrings with an eye toward pointing users to `concatenate`/`stack`/`split` as a fundamental set of basic array manipulation routines, and away from `array_split`/`{h,v,d}split`/`{h,v,d,column_}stack` I put this implementation in `numpy.core.shape_base` alongside `hstack`/`vstack`, but it appears that there is also a `numpy.lib.shape_base` module that contains another larger set of functions, including `dstack`. I'm not really sure where this belongs (or if it even matters). Finally, it might be a good idea to write a masked array version of `stack`. But I don't use masked arrays, so I'm not well motivated to do that.
* | ENH: add broadcast_to functionStephan Hoyer2015-02-261-0/+1
|/ | | | | | | | Per the mailing list discussion [1], I have implemented a new function `broadcast_to` that broadcasts an array to a given shape according to numpy's broadcasting rules. [1] http://mail.scipy.org/pipermail/numpy-discussion/2014-December/071796.html
* DOC: add ascontiguousarray and asarray_chkfinite to appropriate sectionJulian Taylor2014-07-271-0/+2
| | | | | added to "Changing kind of array" with the other as* functions Closes gh-4890
* ENH: core: Add np.copyto, PyArray_MaskedMoveInto, PyArray_MaskedCopyIntoMark Wiebe2011-07-081-0/+7
| | | | | | | | These functions expose masked copying routines, with and without handling of overlapping data. Also deprecated the np.putmask and PyArray_PutMask functions, because np.copyto supercedes their functionality. This will need to be discussed on the list during the pull request review.
* Merge from the doc wikiPauli Virtanen2009-03-241-5/+1
|
* docs: strip trailing whitespace from RST filesPauli Virtanen2009-03-211-19/+19
|
* Moved numpy-docs under doc/ in the main Numpy trunk.Pauli Virtanen2008-11-231-0/+108