首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:模块“”numpy“”没有属性“”flip“”

AttributeError:模块“”numpy“”没有属性“”flip“”
EN

Stack Overflow用户
提问于 2017-08-16 14:54:04
回答 3查看 22.8K关注 0票数 7

错误消息: AttributeError:模块'numpy‘没有属性'flip’

我不明白为什么它会给我这个错误,我已经搜索过了,并确保我是最新版本的numpy。我的工作目录中肯定没有另一个名为numpy的文件。任何帮助都将不胜感激!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-16 15:01:14

在v.1.12.0及更高版本中引入了np.flip。对于较旧的版本,您可以考虑使用np.fliplrnp.flipud

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

票数 15
EN

Stack Overflow用户

发布于 2017-08-16 15:17:31

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

代码语言:javascript
复制
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可以:

代码语言:javascript
复制
In [826]: np.array([1,2,3])[::-1]
Out[826]: array([3, 2, 1])
票数 5
EN

Stack Overflow用户

发布于 2019-01-18 15:52:09

人们可以重塑一维数组,应用fliplr,然后再得到一维数组。这可以通过使用例如x.reshape(1,x.size)[x]从1-D x转换到2-D。

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45706896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档