Мне удалось создать подкласс numpy:
class myary(np.ndarray):
def __new__(cls, arg1, arg2) :
.....
obj = super(myary, cls).__new__(cls, shape=(arg1,), dtype=np.int)
....
return obj
, это работает, но проблема в том, что я применяю numpy функции (например, np.concatenate (), np.stack () .. .. et c) вывод ndarray вместо myary. Я реализовал __array_wrap__
, поэтому np.sort, np.add ... работают, но не тот, который я упомянул выше.
def __array_wrap__(self, out_arr, context=None):
return super(self.__class__, self).__array_wrap__(out_arr, context)
Как заставить все методы numpy возвращать то, что я передаю как вход.