AttributeError:模块'numpy'没有属性'flip'

新手上路,请多包涵

在此处输入图像描述

错误信息:AttributeError: module ‘numpy’ has no attribute ‘flip’

我不明白为什么它会给我这个错误,我用谷歌搜索并确保我使用的是最新版本的 numpy。我的工作目录中绝对没有另一个名为 numpy 的文件。任何帮助将不胜感激!

原文由 user428487 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

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

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

原文由 cs95 发布,翻译遵循 CC BY-SA 4.0 许可协议

是的, 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)]

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

有了这个 xflip 做:

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

原文由 hpaulj 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题