相关疑难解决方法(0)

numpy ndarray的子​​类不能按预期工作

"大家好.

我发现子类化ndarray时有一种奇怪的行为.

import numpy as np

class fooarray(np.ndarray):
    def __new__(cls, input_array, *args, **kwargs):
        obj = np.asarray(input_array).view(cls)
        return obj

    def __init__(self, *args, **kwargs):
        return

    def __array_finalize__(self, obj):
        return

a=fooarray(np.random.randn(3,5))
b=np.random.randn(3,5)

a_sum=np.sum(a,axis=0,keepdims=True)
b_sum=np.sum(b,axis=0, keepdims=True)

print a_sum.ndim #1
print b_sum.ndim #2
Run Code Online (Sandbox Code Playgroud)

如您所见,该keepdims参数对我的子类不起作用fooarray.它失去了一个轴.我怎能不避免这个问题?或者更一般地说,我怎样才能正确地将numpy ndarray子类化?

python numpy

6
推荐指数
1
解决办法
689
查看次数

标签 统计

numpy ×1

python ×1