numpy.ndarrayをサブクラス化して、動作をカスタマイズしたいと思います。最初のステップとして、以下のように独自のクラスを作成してみます。しかし、私は初期化を正しく行ったことがありません。以下では、クラスを[1.、2。]で初期化し、「printa」という行が[1.、2。]を返すことを期待しています。しかし、それは常に私に[[some_random_number、some_random_number]]を返します。そのため、寸法が間違っており、初期値の割り当てに失敗しました。助けてください。私はそれを理解することはできません。
import numpy as np
class imarray(np.ndarray):
def __init__(self, d):
data = np.asarray(d)
super(imarray, self).__init__((data.size,), dtype=data.dtype, buffer=data)
if __name__ == "__main__":
a = imarray([1.,2.])
print a