NumPy n 차원 배열을 상속 한 간단한 클래스가 있습니다. 클래스의 인스턴스의 배열 값을 변경할 수있는 클래스의 두 가지 메서드가 필요합니다. 메소드 중 하나는 클래스 인스턴스의 배열을 클래스 인스턴스의 목록 데이터 속성 값으로 설정하고 다른 메소드는 클래스 인스턴스의 배열에 일부 목록 값을 추가해야합니다. 이 클래스는 다음과 같은?NumPy 배열을 상속 한 클래스는 어떻게 고유 한 값을 변경할 수 있습니까?
>>> v1 = np.array([23, 20, 13, 24, 25, 28, 26, 17, 18, 29])
>>> v1 = v1[v1 >= 20]
같은 표준 NumPy와 배열 작업을 살아남을 것입니다, 빠른, 선제 적 질문으로
import numpy
class Variable(numpy.ndarray):
def __new__(cls, name = "zappo"):
self = numpy.asarray([]).view(cls)
self._values = [1, 2, 3] # list of values
return(self)
def updateNumPyArrayWithValues(self):
self = numpy.asarray(self._values)
def appendToNumPyArray(self):
self = numpy.append(self, [4, 5, 6])
a = Variable()
print(a)
a.updateNumPyArrayWithValues()
print(a)
: 나는이 작업을 수행하는 방법을 잘 모르겠지만, 다음과 같이 내 시도이다
내 수업과 비슷한 일을하고 모든 데이터 속성을 유지할 수 있습니까?
는 '자기 = something' 가능성이 당신이 그것을 반환하는 __new__''를 제외하고, 파이썬에서 많은 작업을 수행하지 않습니다 쓰기. 다른 방법에서는 self의 * content *를 변경하려고합니다. 'self [:] = somevalues'라고 쓰면됩니다. – user4815162342