[Numpy-discussion] numpy 1.10.1 reduce operation on recarrays
Allan Haldane
allanhaldane at gmail.com
Fri Oct 16 20:56:31 EDT 2015
On 10/16/2015 05:31 PM, josef.pktd at gmail.com wrote:
>
>
> On Fri, Oct 16, 2015 at 2:21 PM, Charles R Harris
> <charlesr.harris at gmail.com <mailto:charlesr.harris at gmail.com>> wrote:
>
>
>
> On Fri, Oct 16, 2015 at 12:20 PM, Charles R Harris
> <charlesr.harris at gmail.com <mailto:charlesr.harris at gmail.com>> wrote:
>
>
>
> On Fri, Oct 16, 2015 at 11:58 AM, <josef.pktd at gmail.com
> <mailto:josef.pktd at gmail.com>> wrote:
>
> was there a change with reduce operations with recarrays in
> 1.10 or 1.10.1?
>
> Travis shows a new test failure in the statsmodels testsuite
> with 1.10.1:
>
> ERROR: test suite for <class
> 'statsmodels.base.tests.test_data.TestRecarrays'>
>
> File
> "/home/travis/miniconda/envs/statsmodels-test/lib/python2.7/site-packages/statsmodels-0.8.0-py2.7-linux-x86_64.egg/statsmodels/base/data.py",
> line 131, in _handle_constant
> const_idx = np.where(self.exog.ptp(axis=0) ==
> 0)[0].squeeze()
> TypeError: cannot perform reduce with flexible type
>
>
> Sorry for asking so late.
> (statsmodels is short on maintainers, and I'm distracted)
>
>
> statsmodels still has code to support recarrays and
> structured dtypes from the time before pandas became
> popular, but I don't think anyone is using them together
> with statsmodels anymore.
>
>
> There were several commits dealing both recarrays and ufuncs, so
> this might well be a regression.
>
>
> A bisection would be helpful. Also, open an issue.
>
>
>
> The reason for the test failure might be somewhere else hiding behind
> several layers of statsmodels, but only started to show up with numpy 1.10.1
>
> I already have the reduce exception with my currently installed numpy
> '1.9.2rc1'
>
>>>> x = np.random.random(9*3).view([('const', 'f8'),('x_1', 'f8'),
> ('x_2', 'f8')]).view(np.recarray)
>
>>>> np.ptp(x, axis=0)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File
> "C:\programs\WinPython-64bit-3.4.3.1\python-3.4.3.amd64\lib\site-packages\numpy\core\fromnumeric.py",
> line 2047, in ptp
> return ptp(axis, out)
> TypeError: cannot perform reduce with flexible type
>
>
> Sounds like fun, and I don't even know how to automatically bisect.
>
> Josef
That example isn't the problem (ptp should definitely fail on structured
arrays), but I've tracked down what is - it has to do with views of
record arrays.
The fix looks simple, I'll get it in for the next release.
Allan
More information about the NumPy-Discussion
mailing list