numpy.ndarray子类上的numpy.nanmean()返回意外类型
从一个流行的例子开始numpy.ndarray子类上的numpy.nanmean()返回意外类型,numpy,Numpy,从一个流行的例子开始 import numpy as np class TestArray(np.ndarray): def __new__(subtype, shape, dtype=float, buffer=None, offset=0, strides=None, order=None): obj = np.ndarray.__new__(subtype, shape, dtype, buffer, offset, strides,
import numpy as np
class TestArray(np.ndarray):
def __new__(subtype, shape, dtype=float, buffer=None, offset=0,
strides=None, order=None):
obj = np.ndarray.__new__(subtype, shape, dtype, buffer, offset, strides,
order)
return obj
obj = TestArray(shape=(3,))
obj[:] = [1, 2, 3]
print type(np.nanmean(obj))
print type(np.nanmean(numpy.array(obj)))
给出输出
<class '__main__.TestArray'>
<type 'numpy.float64'>
我希望numpy.nanmeanobj也能归还一辆numpy.float64
现在显然我可以向numpy.array施放,但我不想这样做
我需要在类定义中修改什么,使得numpy.nanmean和其他可能返回的类型始终与使用numpy.ndarray直接调用的类型相同?您阅读了文档吗?谢谢/是的,我读了文件,但似乎我太愚蠢了,无法理解它-这似乎回答了我的问题。