python - 如何使用append()函数扩展Numpy数组类?

标签 python arrays numpy class

我怎样才能实现:

>>> foo = np.array([1,2,3])
array([1,2,3])
>>> foo.append(4)
array([1,2,3,4])

代替 numpy 的:

np.append(foo, 4)

我尝试过以下内容:

import numpy as np
class myarrayclass(np.array):
    def append(self, value):
        self.object = np.append(self.object, value)

另外,是否可以覆盖 numpy 类而不是创建我自己的类? 我不需要这个来工作,只是想知道它是否可能,提前致谢!

最佳答案

我不确定这是否是最好的方法,但这是一种方法。

import numpy as np

class myarrayclass(object):
    def __init__(self, in_array):
        self.array = in_array
        
    def append(self, val):
        self.array = np.append(self.array, val)
      
    def show(self):
        return self.array
        
        
foo = np.array([1,2,3])


myarray = myarrayclass(foo)
myarray.append(5)

myarray.show()
#Out[7]: array([1, 2, 3, 5])

当你创建一个对象时,你需要用 def __init__(self, in_array) 来初始化它。这里我包含了一个简单的附加和显示方法。我包含了 show 方法来证明附加有效。

关于python - 如何使用append()函数扩展Numpy数组类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64823257/

相关文章:

C++ 处理并显示一副带有 vector 的纸牌

arrays - 找出比较两个项目的概率。 (请提示)

python - 如何升级 NumPy?

Python3.3 类型=文件名错误

python - Redis:如何解析列表结果

使用with block 时Python未定义错误

Python如何以C速度循环遍历numpy中的数组并存储一些位置

python - TkInter 中小部件的 .pack 和 .configure 之间的区别?

python - 如何检查数组中的值是否以特定字母开头?

c# - C# 中的 Python numpy.random.choice 具有非/均匀概率分布