我能帮您翻译这段内容:
在最后一步,我希望得到一个数组
我能否为
我可以将一个Python类转换为numpy array
吗?
from dataclasses import dataclass
import numpy as np
@dataclass
class X:
x: float = 0
y: float = 0
x = X()
x_array = np.array(x) # would like to get an numpy array np.array([X.x,X.y])
在最后一步,我希望得到一个数组
np.array([X.x, X.y])
,但实际上我得到了array(X(x=0, y=0), dtype=object)
。我能否为
dataclass
提供方法,使强制转换按照预期工作(或重载dataclass
的现有方法)?
def __iter__(self): yield from (self.x, self.y)
- undefinednumpy.array
的文档字符串后,很明显你可以像这样定义__array__
方法:def __array__(self): return np.array([self.x, self.y])
。 - undefined