AttributeError:module' numpy'没有属性'翻转'

时间:2017-08-16 06:54:04

标签: python arrays numpy

enter image description here

错误讯息:     AttributeError:module' numpy'没有属性'翻转'

我无法理解为什么它会给我这个错误,我已经用Google搜索并确保我能够使用最新版本的numpy。我绝对没有在我的工作目录中有另一个名为numpy的文件。任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:10)

np.flip已针对v.1.12.0及更高版本引入。对于旧版本,您可以考虑使用np.fliplrnp.flipud

或者,使用pip install --user --upgrade numpy升级您的numpy版本。

答案 1 :(得分:4)

是的,flip是新的,但没有任何神奇之处。这是代码:

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)]

该操作的本质是它使用::-1slice(None,None,-1))的一个或多个实例为您的数组编制索引。 flipud/lr做同样的事情。

使用此xflip可以:

In [826]: np.array([1,2,3])[::-1]
Out[826]: array([3, 2, 1])

答案 2 :(得分:0)

可以重塑一维数组,应用fliplr,然后恢复一维数组。通过使用例如,可以从一维x到二维。 x.reshape(1,x.size)[x]

x = np.arange(5)
print(x)
x = np.fliplr([x])[0];  # fliplr works with at least 2-D arrays
print(x)
  

[0 1 2 3 4]
  [4 3 2 1 0]