internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: numpy/numpy

Issue:
Typo in f2py typedefs (Trac #2183)
_Original ticket http://projects.scipy.org/numpy/ticket/2183 on 2012-07-09 by trac user pepijndevos, assigned to @pearu._

in cfuncs.py it said "insigned long long", and the definition for unsigned long long was moved into long long. It also seems the Windows declaration was incorrect.



Discussion:
Attachment added by trac user pepijndevos on 2012-07-09: [0001-fixed-a-spelling-error-in-f2py-type-definitions.patch](http://projects.scipy.org/numpy/attachment/ticket/2183/0001-fixed-a-spelling-error-in-f2py-type-definitions.patch)

_@rgommers wrote on 2012-07-10_

Looks like there's still a typo in the new version, `unsinged_long_long`, "ng" should be swapped.

Other than that it looks fine (but disclaimer: I don't know much about f2py).

Attachment added by trac user pepijndevos on 2012-07-10: [0001-fix-typo-in-cfuncs.patch](http://projects.scipy.org/numpy/attachment/ticket/2183/0001-fix-typo-in-cfuncs.patch)


Resolving patch:
diff --git a/numpy/f2py/cfuncs.py b/numpy/f2py/cfuncs.py
--- a/numpy/f2py/cfuncs.py
+++ b/numpy/f2py/cfuncs.py
@@ -75,7 +75,7 @@
 typedef unsigned long long unsigned_long_long;
 #endif
 """
-typedefs['insinged_long_long']="""\
+typedefs['unsigned_long_long']="""\
 #ifdef _WIN32
 typedef __uint64 long_long;
 #else


Test patch:
Repository: numpy/numpy

Issue:
fliplr documentation incorrectly states 2-d *not* required
[`fliplr` documentation](http://docs.scipy.org/doc/numpy/reference/generated/numpy.fliplr.html) incorrectly states 2-d _not_ required, but that is _not_ true. I think it is a typo, since `fliplr` was probably copied from `flipud` which _really_ doesn't require a 2-d array.

```
>>> import numpy as np
>>> a = np.array([1,2,3,4])
>>> np.fliplr(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\numpy\lib\twodim_base.py", line 61, in fliplr
    raise ValueError("Input must be >= 2-d.")
ValueError: Input must be >= 2-d.
```



Discussion:

Resolving patch:
diff --git a/numpy/lib/twodim_base.py b/numpy/lib/twodim_base.py
--- a/numpy/lib/twodim_base.py
+++ b/numpy/lib/twodim_base.py
@@ -25,7 +25,7 @@ def fliplr(m):
     Parameters
     ----------
     m : array_like
-        Input array.
+        Input array, must be at least 2-D.
 
     Returns
     -------
@@ -40,8 +40,7 @@ def fliplr(m):
 
     Notes
     -----
-    Equivalent to A[:,::-1]. Does not require the array to be
-    two-dimensional.
+    Equivalent to A[:,::-1]. Requires the array to be at least 2-D.
 
     Examples
     --------


Test patch:
Repository: numpy/numpy

Issue:
Improve ``np.take`` to work correctly when indices=boolean_array
Hi,

When you pass a boolean array as `indices` to `np.take` you probably want to do boolean indexing (or masking). `np.take` however converts the boolean array into an array of zeros and ones and uses that as indexing array. Which is probably not what the user expected.

This is very confusing if not wrong. Confusing, because most users probably expect `np.take` to behave like `__getitem__` to accept index- or boolean arrays. And if that is not the case one should at least put the analogous method `np.compress` which works like `np.take` just with boolean arrays in the `See Also`-Section of `np.take`.



Discussion:
I don't really think changing np.take is really an option. It should mention it in the docs though. If you care about it, maybe you can open a pull request?


Resolving patch:
diff --git a/numpy/core/fromnumeric.py b/numpy/core/fromnumeric.py
--- a/numpy/core/fromnumeric.py
+++ b/numpy/core/fromnumeric.py
@@ -90,6 +90,7 @@ def take(a, indices, axis=None, out=None, mode='raise'):
 
     See Also
     --------
+    compress : Take elements using a boolean mask
     ndarray.take : equivalent method
 
     Examples


Test patch:
Repository: numpy/numpy

Issue:
Fix mis-formatting in html output for `histogram2d` docstring
In the online html docs of `histogram2d` [here](http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram2d.html) contain some mis-formatting in the examples.

Looking at the code [here](https://github.com/numpy/numpy/blob/master/numpy/lib/twodim_base.py#L653) it seems the reason is that the examples contain `\n` in the string:

```
ax.set_title('imshow:\nequidistant')
```

Anyone know how to fix this?



Discussion:
Its a string, so use `\\` to escape the newline. Or use the r"""docstring""" notation, adding the r (assuming it doesn't interfere with anything else.

The easy solution is to remove the `\n`s. I'll do a PR for that. 


Resolving patch:
diff --git a/numpy/lib/twodim_base.py b/numpy/lib/twodim_base.py
--- a/numpy/lib/twodim_base.py
+++ b/numpy/lib/twodim_base.py
@@ -650,14 +650,14 @@ def histogram2d(x, y, bins=10, range=None, normed=False, weights=None):
 
     >>> fig = plt.figure(figsize=(7, 3))
     >>> ax = fig.add_subplot(131)
-    >>> ax.set_title('imshow:\nequidistant')
+    >>> ax.set_title('imshow: equidistant')
     >>> im = plt.imshow(H, interpolation='nearest', origin='low',
                         extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])
 
     pcolormesh can display exact bin edges:
 
     >>> ax = fig.add_subplot(132)
-    >>> ax.set_title('pcolormesh:\nexact bin edges')
+    >>> ax.set_title('pcolormesh: exact bin edges')
     >>> X, Y = np.meshgrid(xedges, yedges)
     >>> ax.pcolormesh(X, Y, H)
     >>> ax.set_aspect('equal')
@@ -665,7 +665,7 @@ def histogram2d(x, y, bins=10, range=None, normed=False, weights=None):
     NonUniformImage displays exact bin edges with interpolation:
 
     >>> ax = fig.add_subplot(133)
-    >>> ax.set_title('NonUniformImage:\ninterpolated')
+    >>> ax.set_title('NonUniformImage: interpolated')
     >>> im = mpl.image.NonUniformImage(ax, interpolation='bilinear')
     >>> xcenters = xedges[:-1] + 0.5 * (xedges[1:] - xedges[:-1])
     >>> ycenters = yedges[:-1] + 0.5 * (yedges[1:] - yedges[:-1])


Test patch:
Repository: numpy/numpy

Issue:
Make unique behave like sort when the argument is a list
The sort and unique functions do not handle lists in a consistent manner.

``` python
>>> a = [complex(1,0), complex(1,-1), 1]
>>> np.sort(a)
array([ 1.-1.j,  1.+0.j,  1.+0.j]) # OK
>>> np.sort(np.array(a))
array([ 1.-1.j,  1.+0.j,  1.+0.j]) # OK
>>> np.unique(np.array(a))
array([ 1.-1.j,  1.+0.j ]) # OK
```

but

``` python
>>> np.unique(a)
TypeError: no ordering relation is defined for complex numbers
```



Discussion:
Hmm, it is calling python sort on the list, not numpy sort.

charris: right, I've changed the issue report, because the problem only occurs with lists.

`unique` calls `sorted` on the list, that's a no no.

It actually calls `sorted` on a `set` of the inputs. Is calling `set` OK?

I could add that little change to  #4180 if it would help that PR getting some attention...

Well, it works, I don't know about the speed. One can then do `asarray(list(set(...))` and call the sort method on that. The `list` is needed.

Probably better to do a separate PR as this is a bug fix. Your other PR will get some attention, promise.


Resolving patch:
diff --git a/numpy/lib/arraysetops.py b/numpy/lib/arraysetops.py
--- a/numpy/lib/arraysetops.py
+++ b/numpy/lib/arraysetops.py
@@ -163,8 +163,7 @@ def unique(ar, return_index=False, return_inverse=False):
         ar = ar.flatten()
     except AttributeError:
         if not return_inverse and not return_index:
-            items = sorted(set(ar))
-            return np.asarray(items)
+            return np.sort(list(set(ar)))
         else:
             ar = np.asanyarray(ar).flatten()
 


Test patch:
diff --git a/numpy/lib/tests/test_arraysetops.py b/numpy/lib/tests/test_arraysetops.py
--- a/numpy/lib/tests/test_arraysetops.py
+++ b/numpy/lib/tests/test_arraysetops.py
@@ -65,6 +65,10 @@ def check_all(a, b, i1, i2, dt):
         bb = np.array(list(zip(b, b)), dt)
         check_all(aa, bb, i1, i2, dt)
 
+        # test for ticket #2799
+        aa = [1.+0.j, 1- 1.j, 1]
+        assert_array_equal(np.unique(aa), [ 1.-1.j,  1.+0.j])
+
     def test_intersect1d(self):
         # unique inputs
         a = np.array([5, 7, 1, 2])
Repository: numpy/numpy

Issue:
genfromtxt docstring does not explain the arguments 'loose', 'missing' and 'skiprows'.
The 'Parameters' section of the docstring for `genfromtxt` does not include the arguments `loose`, `missing` and `skiprows`. 



Discussion:
Indeed. Still not there in 1.9-devel.


Resolving patch:
diff --git a/numpy/lib/npyio.py b/numpy/lib/npyio.py
--- a/numpy/lib/npyio.py
+++ b/numpy/lib/npyio.py
@@ -1199,14 +1199,20 @@ def genfromtxt(fname, dtype=float, comments='#', delimiter=None,
         The string used to separate values.  By default, any consecutive
         whitespaces act as delimiter.  An integer or sequence of integers
         can also be provided as width(s) of each field.
+    skip_rows : int, optional
+        `skip_rows` was deprecated in numpy 1.5, and will be removed in
+        numpy 2.0. Please use `skip_header` instead.
     skip_header : int, optional
-        The numbers of lines to skip at the beginning of the file.
+        The number of lines to skip at the beginning of the file.
     skip_footer : int, optional
-        The numbers of lines to skip at the end of the file
+        The number of lines to skip at the end of the file.
     converters : variable, optional
         The set of functions that convert the data of a column to a value.
         The converters can also be used to provide a default value
         for missing data: ``converters = {3: lambda s: float(s or 0)}``.
+    missing : variable, optional
+        `missing` was deprecated in numpy 1.5, and will be removed in
+        numpy 2.0. Please use `missing_values` instead.
     missing_values : variable, optional
         The set of strings corresponding to missing data.
     filling_values : variable, optional
@@ -1244,6 +1250,8 @@ def genfromtxt(fname, dtype=float, comments='#', delimiter=None,
     usemask : bool, optional
         If True, return a masked array.
         If False, return a regular array.
+    loose : bool, optional
+        If True, do not raise errors for invalid values.
     invalid_raise : bool, optional
         If True, an exception is raised if an inconsistency is detected in the
         number of columns.


Test patch:
Repository: numpy/numpy

Issue:
Masked array filled method ignores fill value 
```
>>> x = ma.masked_all(2, dtype='O')
>>> x.filled('')
array(['?', '?'], dtype=object)
>>> x.filled('zz')
array(['?', '?'], dtype=object)
```



Discussion:

Resolving patch:
diff --git a/numpy/ma/core.py b/numpy/ma/core.py
--- a/numpy/ma/core.py
+++ b/numpy/ma/core.py
@@ -416,7 +416,7 @@ def _check_fill_value(fill_value, ndtype):
             fill_value = np.array(_recursive_set_fill_value(fill_value, descr),
                                   dtype=ndtype)
     else:
-        if isinstance(fill_value, basestring) and (ndtype.char not in 'SVU'):
+        if isinstance(fill_value, basestring) and (ndtype.char not in 'OSVU'):
             fill_value = default_fill_value(ndtype)
         else:
             # In case we want to convert 1e+20 to int...


Test patch:
diff --git a/numpy/ma/tests/test_core.py b/numpy/ma/tests/test_core.py
--- a/numpy/ma/tests/test_core.py
+++ b/numpy/ma/tests/test_core.py
@@ -474,6 +474,10 @@ def test_oddfeatures_3(self):
         atest[idx] = btest[idx]
         assert_equal(atest, [20])
 
+    def test_filled_w_object_dtype(self):
+        a = np.ma.masked_all(1, dtype='O')
+        assert_equal(a.filled('x')[0], 'x')
+
     def test_filled_w_flexible_dtype(self):
         # Test filled w/ flexible dtype
         flexi = array([(1, 1, 1)],
Repository: numpy/numpy

Issue:
Masked arrays and apply_over_axes
Cannot get apply_over_axes to work on masked arrays. Have tried both np.apply_over_axes and np.ma.apply_over_axes.

> > > x = np.array([1,2,3])
> > > x = np.masked_where(x==3, x)
> > > np.ma.apply_over_axes(np.ma.mean, x, axes=(0))

array([ 2. ])

This should be 1.5. Have tried all combinations of np.ma and regular np functions. Can't get it to work. (Obviously the example given does not require apply_over_axes, but used it for simplicity.)

Using numpy version 1.8



Discussion:

Resolving patch:
diff --git a/numpy/ma/extras.py b/numpy/ma/extras.py
--- a/numpy/ma/extras.py
+++ b/numpy/ma/extras.py
@@ -416,26 +416,53 @@ def apply_over_axes(func, a, axes):
     """
     (This docstring will be overwritten)
     """
-    val = np.asarray(a)
-    msk = getmaskarray(a)
+    val = asarray(a)
     N = a.ndim
     if array(axes).ndim == 0:
         axes = (axes,)
     for axis in axes:
         if axis < 0: axis = N + axis
         args = (val, axis)
-        res = ma.array(func(*(val, axis)), mask=func(*(msk, axis)))
+        res = func(*args)
         if res.ndim == val.ndim:
-            (val, msk) = (res._data, res._mask)
+            val = res
         else:
             res = ma.expand_dims(res, axis)
             if res.ndim == val.ndim:
-                (val, msk) = (res._data, res._mask)
+                val = res
             else:
-                raise ValueError("Function is not returning"\
-                                 " an array of correct shape")
+                raise ValueError("function is not returning "
+                        "an array of the correct shape")
     return val
-apply_over_axes.__doc__ = np.apply_over_axes.__doc__
+apply_over_axes.__doc__ = np.apply_over_axes.__doc__[
+    :np.apply_over_axes.__doc__.find('Notes')].rstrip() + \
+    """
+
+    Examples
+    --------
+    >>> a = ma.arange(24).reshape(2,3,4)
+    >>> a[:,0,1] = ma.masked
+    >>> a[:,1,:] = ma.masked
+    >>> print a
+    [[[0 -- 2 3]
+      [-- -- -- --]
+      [8 9 10 11]]
+
+     [[12 -- 14 15]
+      [-- -- -- --]
+      [20 21 22 23]]]
+    >>> print ma.apply_over_axes(ma.sum, a, [0,2])
+    [[[46]
+      [--]
+      [124]]]
+
+    Tuple axis arguments to ufuncs are equivalent:
+
+    >>> print ma.sum(a, axis=(0,2)).reshape((1,-1,1))
+    [[[46]
+      [--]
+      [124]]]
+"""
 
 
 def average(a, axis=None, weights=None, returned=False):


Test patch:
diff --git a/numpy/ma/tests/test_extras.py b/numpy/ma/tests/test_extras.py
--- a/numpy/ma/tests/test_extras.py
+++ b/numpy/ma/tests/test_extras.py
@@ -489,7 +489,8 @@ def test_basic(self):
         assert_equal(test, ctrl)
         a[(a % 2).astype(np.bool)] = masked
         test = apply_over_axes(np.sum, a, [0, 2])
-        ctrl = np.array([[[30], [44], [60]]])
+        ctrl = np.array([[[28], [44], [60]]])
+        assert_equal(test, ctrl)
 
 
 class TestMedian(TestCase):
Repository: numpy/numpy

Issue:
_vectorize_call error when otype attribute is set after vectorize object creation
if a vectorize object is created without otype argument, an attempt to set it later causes an error:

``` python
v = numpy.vectorize( lambda x: x )
v.otypes='i'
v( [1,2] )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/numpy/lib/function_base.py", line 1873, in __call__
    return self._vectorize_call(func=func, args=vargs)
  File "/usr/lib64/python2.7/site-packages/numpy/lib/function_base.py", line 1933, in _vectorize_call
    ufunc, otypes = self._get_ufunc_and_otypes(func=func, args=args)
  File "/usr/lib64/python2.7/site-packages/numpy/lib/function_base.py", line 1886, in _get_ufunc_and_otypes
    if func is self.pyfunc and self._ufunc is not None:
AttributeError: 'vectorize' object has no attribute '_ufunc'
```



Discussion:
Still in 1.9-devel. `_get_ufunc_and_otypes` is buggy in other ways, it uses `assert` for flow control.


Resolving patch:
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
--- a/numpy/lib/function_base.py
+++ b/numpy/lib/function_base.py
@@ -1593,6 +1593,7 @@ def __init__(self, pyfunc, otypes='', doc=None, excluded=None,
                  cache=False):
         self.pyfunc = pyfunc
         self.cache = cache
+        self._ufunc = None    # Caching to improve default performance
 
         if doc is None:
             self.__doc__ = pyfunc.__doc__
@@ -1616,9 +1617,6 @@ def __init__(self, pyfunc, otypes='', doc=None, excluded=None,
             excluded = set()
         self.excluded = set(excluded)
 
-        if self.otypes and not self.excluded:
-            self._ufunc = None      # Caching to improve default performance
-
     def __call__(self, *args, **kwargs):
         """
         Return arrays with the results of `pyfunc` broadcast (vectorized) over
@@ -1652,7 +1650,8 @@ def func(*vargs):
     def _get_ufunc_and_otypes(self, func, args):
         """Return (ufunc, otypes)."""
         # frompyfunc will fail if args is empty
-        assert args
+        if not args:
+            raise ValueError('args can not be empty')
 
         if self.otypes:
             otypes = self.otypes


Test patch:
diff --git a/numpy/lib/tests/test_function_base.py b/numpy/lib/tests/test_function_base.py
--- a/numpy/lib/tests/test_function_base.py
+++ b/numpy/lib/tests/test_function_base.py
@@ -721,6 +721,12 @@ def f(x):
         assert_array_equal(f(x), x*x)
         assert_equal(_calls[0], len(x))
 
+    def test_otypes(self):
+        f = np.vectorize(lambda x: x)
+        f.otypes = 'i'
+        x = np.arange(5)
+        assert_array_equal(f(x), x)
+
 
 class TestDigitize(TestCase):
     def test_forward(self):
Repository: numpy/numpy

Issue:
better error message for np.poly(np.zeros((0,0))) (Trac #1495)
_Original ticket http://projects.scipy.org/numpy/ticket/1495 on 2010-05-28 by @josef-pkt, assigned to unknown._

np.poly(np.zeros((0,0))) crashed with numpy 1.4.0 but has been fixed in trunk (2.0.0)

the error message could be more explicit

```
In [1]: np.poly(np.zeros((0,0)))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/home/charris/<ipython console> in <module>()

/usr/local/lib/python2.6/dist-packages/numpy/lib/polynomial.pyc in poly(seq_of_zeros)
    126         pass
    127     else:
--> 128         raise ValueError, "input must be 1d or square 2d array."
    129
    130     if len(seq_of_zeros) == 0:

ValueError: input must be 1d or square 2d array.
```



Discussion:
_@rgommers wrote on 2011-03-25_

Do you have a suggestion for improved message? Do you want it to tell you the input is 0-D?

Because the shape is correct, the error message should complain about an empty array.


Resolving patch:
diff --git a/numpy/lib/polynomial.py b/numpy/lib/polynomial.py
--- a/numpy/lib/polynomial.py
+++ b/numpy/lib/polynomial.py
@@ -127,7 +127,7 @@ def poly(seq_of_zeros):
     elif len(sh) == 1:
         pass
     else:
-        raise ValueError("input must be 1d or square 2d array.")
+        raise ValueError("input must be 1d or non-empty square 2d array.")
 
     if len(seq_of_zeros) == 0:
         return 1.0


Test patch:
Repository: numpy/numpy

Issue:
loadtxt should give line numbers of problems (Trac #1998)
_Original ticket http://projects.scipy.org/numpy/ticket/1998 on 2011-12-15 by @samtygier, assigned to unknown._

currently input like

```
1 2 3
4 5 6
78
```

will cause loadtxt to give the following error

```
Traceback (most recent call last):
  File "./np_lt.py", line 5, in <module>
    numpy.loadtxt(sys.argv[1])
  File "/usr/lib/python2.7/site-packages/numpy/lib/npyio.py", line 804, in loadtxt
    X = np.array(X, dtype)
ValueError: setting an array element with a sequence.
```

This would be far more useful, if it contained some information about where the problem was.

This is similar to the bug #1810 , but for the loadtxt function.

I attach a patch that gives the following message:

```
ValueError: Wrong number of columns at line 3
```

it also provides a test that the input raises the correct error. Inconveniently it is the same error type as before, so the test is not very useful. However I thing ValueError is probably the most appropriate in this case. Maybe there is a way to check the exception message.



Discussion:
Attachment added by @samtygier on 2011-12-15: [numpy_loadtxt.diff](http://projects.scipy.org/numpy/attachment/ticket/1998/numpy_loadtxt.diff)

Good idea.


Resolving patch:
diff --git a/numpy/lib/npyio.py b/numpy/lib/npyio.py
--- a/numpy/lib/npyio.py
+++ b/numpy/lib/npyio.py
@@ -845,6 +845,11 @@ def split_line(line):
                 continue
             if usecols:
                 vals = [vals[i] for i in usecols]
+            if len(vals) != N:
+                line_num = i + skiprows + 1
+                raise ValueError("Wrong number of columns at line %d"
+                                 % line_num)
+
             # Convert each value according to its column and store
             items = [conv(val) for (conv, val) in zip(converters, vals)]
             # Then pack it according to the dtype's nesting


Test patch:
diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py
--- a/numpy/lib/tests/test_io.py
+++ b/numpy/lib/tests/test_io.py
@@ -19,10 +19,13 @@
                                 ConversionWarning)
 from numpy.compat import asbytes, asbytes_nested, bytes, asstr
 from nose import SkipTest
-from numpy.ma.testutils import (TestCase, assert_equal, assert_array_equal,
-                                assert_raises, run_module_suite)
+from numpy.ma.testutils import (
+    TestCase, assert_equal, assert_array_equal,
+    assert_raises, assert_raises_regex, run_module_suite
+)
 from numpy.testing import assert_warns, assert_, build_err_msg
 
+
 @contextlib.contextmanager
 def tempdir(change_dir=False):
     tmpdir = mkdtemp()
@@ -759,6 +762,14 @@ def count():
         res = np.loadtxt(count())
         assert_array_equal(res, np.arange(10))
 
+    def test_bad_line(self):
+        c = TextIO()
+        c.write('1 2 3\n4 5 6\n2 3')
+        c.seek(0)
+
+        # Check for exception and that exception contains line number
+        assert_raises_regex(ValueError, "3", np.loadtxt, c)
+
 
 class Testfromregex(TestCase):
     # np.fromregex expects files opened in binary mode.
Repository: numpy/numpy

Issue:
`column_stack()`: error in documentation
in `numy/lib/shape_base.py`, around line 277:

```
This function is equivalent to ``np.vstack(tup).T``.
```

If I'm not mistaken, this was true for the old behaviour.
Currently, inputs with >= 2 dimensions are not transposed (which is good!) and therefore it is not equivalent anymore.

Here is an example, the commented line gives an error:

``` python
a = array([[1, 2], [3, 4], [5, 6]])
b = array([11, 12, 13])
column_stack((a, b))
#vstack((a, b)).T
```



Discussion:
Good point. Want to file a pull request?

On Sun, Jun 30, 2013 at 6:10 PM, Matthias Geier notifications@github.comwrote:

> in numy/lib/shape_base.py, around line 277:
> 
> This function is equivalent to `np.vstack(tup).T`.
> 
> If I'm not mistaken, this was true for the old behaviour.
> Currently, inputs with >= 2 dimensions are not transposed (which is good!)
> and therefore it is not equivalent anymore.
> 
> Here is an example, the commented line gives an error:
> 
> a = array([[1, 2], [3, 4], [5, 6]])
> b = array([11, 12, 13])
> column_stack((a, b))
> #vstack((a, b)).T
> 
> —
> Reply to this email directly or view it on GitHubhttps://github.com/numpy/numpy/issues/3488
> .


Resolving patch:
diff --git a/numpy/lib/shape_base.py b/numpy/lib/shape_base.py
--- a/numpy/lib/shape_base.py
+++ b/numpy/lib/shape_base.py
@@ -287,10 +287,6 @@ def column_stack(tup):
     --------
     hstack, vstack, concatenate
 
-    Notes
-    -----
-    This function is equivalent to ``np.vstack(tup).T``.
-
     Examples
     --------
     >>> a = np.array((1,2,3))


Test patch: