【问题标题】:Numpy Inheritance; add a method to Numpy ArrayNumpy 继承;向 Numpy 数组添加方法
【发布时间】:2020-05-13 02:58:30
【问题描述】:

假设我们有一个二维数组image,例如。 20x20。我想为这个对象添加一个名为“imshow”的方法,这样每当我做image.imshow(**kwargs))时,方法imshow都会调用Matplotlib.pyplot.imshow

最好的方法是什么?我正在考虑编写一个继承自 numpy.ndarray 的类,并添加一个方法“imshow”。

【问题讨论】:

    标签: python numpy inheritance


    【解决方案1】:

    刚刚找到答案(感谢How can a class that inherits from a NumPy array change its own values?)!

    class array(np.ndarray):
    
        def __new__(cls, a):
            obj = np.asarray(a).view(cls)
            return obj
    
        def imshow(self, **kwargs):
            plt.figure()
            plt.imshow(self, **kwargs)
            plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-30
      • 2014-07-16
      • 1970-01-01
      • 2018-03-05
      • 2012-02-12
      • 2022-11-21
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多