Расширить / подкласс numpy массив? - PullRequest
0 голосов
/ 10 апреля 2020

Как расширить / подкласс numpy .. Я смотрю на документы, но некоторые вещи все еще неясны.

Я хочу создать класс, который расширяет массив numpy и имеет следующие свойства:

  1. Действовать как numpy массив
  2. Добавить дополнительные атрибуты объекта
  3. Переопределить + и * ops, но добавить вызовы методов, которые позволяют мне получить доступ к оригинальные возможности
  4. как я могу обновить массив внутри метода. Fe

    class MyNP:  
    
      def __init__(self, val, a1):
         self.attr1 = a1
         self = val  #update/assign val
    
      def __add__(self,right): ....
      def add(self,right): super....
    

это не сработает, потому что оно перезапишет себя и станет numpy вместо MyNP.

Переопределить repr , просто определив его, будет работать, верно?

метод copy (). В настоящее время я делаю это так:

def copy(self): return type(self)(vsize=self.vsize, vsn=self.bits)

Как заставить ops, такие как np.sort (), np.concatenate (), np.unique (), возвращать MyNP, когда они имеют Операнды MyNP?


...