如何解决如何创建透明包装numpy.ndarray的wrapt.ObjectProxy类?
>>> import wrapt
>>> class Proxy(wrapt.ObjectProxy):
... pass
...
>>> import numpy
>>> x = numpy.arange(5)
>>> y = Proxy(x)
在大多数情况下,代理是完全透明的。例如:
>>> print(x)
[0 1 2 3 4]
>>> print(y)
[0 1 2 3 4]
>>> x+1
array([1,2,3,4,5])
>>> y+1
array([1,5])
但是,在某些情况下,代理会导致意外故障。我可以从数组列表创建2D数组:
>>> numpy.array([x,x])
array([[0,1,4],[0,4]])
我不能使用代理列表来做同样的事情:
>>> numpy.array([y,y])
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
TypeError: only size-1 arrays can be converted to Python scalars
如何修改Proxy
类,以使numpy.array([y,y])
返回与numpy.array([x,x])
相同的内容?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。