Error message: AttributeError: module 'numpy' has no attribute 'flip'
I can't understand why it's giving me this error, I've googled and made sure I'm up to the latest version of numpy. I definitely don't have another file called numpy in my working directory. Any help would be greatly appreciated!
np.flip
has been introduced for versions v.1.12.0 and beyond. For older versions, you can consider using np.fliplr
and np.flipud
.
Alternatively, upgrade your numpy version using pip install --user --upgrade numpy
.
Yes,flip
is new, but there isn't anything magical about it. Here's the code:
def flip(m, axis):
if not hasattr(m, 'ndim'):
m = asarray(m)
indexer = [slice(None)] * m.ndim
try:
indexer[axis] = slice(None, None, -1)
except IndexError:
raise ValueError("axis=%i is invalid for the %i-dimensional input array"
% (axis, m.ndim))
return m[tuple(indexer)]
The essence of the action is that it indexes your array with one or more instances of ::-1
(the slice(None,None,-1)
). flipud/lr
do the same thing.
With this x
, flip
does:
In [826]: np.array([1,2,3])[::-1]
Out[826]: array([3, 2, 1])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With