将Python类强制转换为Numpy数组
我可以将python类强制转换为numpy将Python类强制转换为Numpy数组,python,python-3.x,numpy,python-dataclasses,Python,Python 3.x,Numpy,Python Dataclasses,我可以将python类强制转换为numpy数组吗 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.
数组吗
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])
。相反,我得到的是数组(X(X=0,y=0),dtype=object)
我是否可以为数据类
提供方法,以使铸件按需要工作(或使数据类
的现有方法之一过载)?从中我们可以看到第一个参数的要求
对象
:类似数组
数组,任何暴露数组接口的对象,
一个对象,其\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
方法返回一个数组或任何
(嵌套的)序列
因此,我们可以定义一个\uuuuuuuuuuuuuuu
方法,如
@dataclass
X类:
x:float=0
y:浮点=0
定义数组(自)->np.ndarray:
返回np.array([self.x,self.y])
它将被np.array
使用。我想这应该适用于任何自定义Python类。从中我们可以看到第一个参数的要求
对象
:类似数组
数组,任何暴露数组接口的对象,
一个对象,其\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
方法返回一个数组或任何
(嵌套的)序列
因此,我们可以定义一个\uuuuuuuuuuuuuuu
方法,如
@dataclass
X类:
x:float=0
y:浮点=0
定义数组(自)->np.ndarray:
返回np.array([self.x,self.y])
它将被np.array
使用。我想这应该适用于任何自定义Python类。尝试添加def\uuuuu iter\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu!我确实试过了,但没用。也许我定义错了。你能提供一个完全指定的答案吗?这是一个基于直觉的错误建议,在阅读了numpy.array
的文档字符串之后,很明显,你可以定义\uuuuuuu array\uuuuu
方法,比如def\uu array\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuo(self):返回np.array!这真的很有帮助。你想写一个答案让我接受吗?试着添加def\uuu iter\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu!我确实试过了,但没用。也许我定义错了。你能提供一个完全指定的答案吗?这是一个基于直觉的错误建议,在阅读了numpy.array
的文档字符串之后,很明显,你可以定义\uuuuuuu array\uuuuu
方法,比如def\uu array\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuo(self):返回np.array!这真的很有帮助。你想写个答案让我接受吗?