summaryrefslogtreecommitdiff
path: root/numpy/add_newdocs.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/add_newdocs.py')
-rw-r--r--numpy/add_newdocs.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/numpy/add_newdocs.py b/numpy/add_newdocs.py
index 0a48f1ade..a88a782b4 100644
--- a/numpy/add_newdocs.py
+++ b/numpy/add_newdocs.py
@@ -4837,14 +4837,15 @@ add_newdoc('numpy.lib._compiled_base', 'digitize',
Parameters
----------
x : array_like
- Input array to be binned. It has to be 1-dimensional.
+ Input array to be binned. Prior to Numpy 1.10.0, this array had to
+ be 1-dimensional, but can now have any shape.
bins : array_like
Array of bins. It has to be 1-dimensional and monotonic.
right : bool, optional
Indicating whether the intervals include the right or the left bin
edge. Default behavior is (right==False) indicating that the interval
- does not include the right edge. The left bin and is open in this
- case. Ie., bins[i-1] <= x < bins[i] is the default behavior for
+ does not include the right edge. The left bin end is open in this
+ case, i.e., bins[i-1] <= x < bins[i] is the default behavior for
monotonically increasing bins.
Returns
@@ -4855,7 +4856,7 @@ add_newdoc('numpy.lib._compiled_base', 'digitize',
Raises
------
ValueError
- If the input is not 1-dimensional, or if `bins` is not monotonic.
+ If `bins` is not monotonic.
TypeError
If the type of the input is complex.
@@ -4869,6 +4870,13 @@ add_newdoc('numpy.lib._compiled_base', 'digitize',
attempting to index `bins` with the indices that `digitize` returns
will result in an IndexError.
+ .. versionadded:: 1.10.0
+
+ `np.digitize` is implemented in terms of `np.searchsorted`. This means
+ that a binary search is used to bin the values, which scales much better
+ for larger number of bins than the previous linear search. It also removes
+ the requirement for the input array to be 1-dimensional.
+
Examples
--------
>>> x = np.array([0.2, 6.4, 3.0, 1.6])
@@ -4885,7 +4893,7 @@ add_newdoc('numpy.lib._compiled_base', 'digitize',
1.0 <= 1.6 < 2.5
>>> x = np.array([1.2, 10.0, 12.4, 15.5, 20.])
- >>> bins = np.array([0,5,10,15,20])
+ >>> bins = np.array([0, 5, 10, 15, 20])
>>> np.digitize(x,bins,right=True)
array([1, 2, 3, 4, 4])
>>> np.digitize(x,bins,right=False)