我怎样才能实现:
>>> 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/