Python Numpy—将用户定义的数据类型转换为内置类型

Python Numpy—将用户定义的数据类型转换为内置类型,python,numpy,Python,Numpy,如果我想支持从我的数据类型转换为例如np.float: a=np.array([10,20],np.float).astype(\u float.myType)//将np.float数组强制转换为我的np.myType数组 b=np.array(a).astype(np.float)//将np.myType数组转换为np.float数组 我在互联网上只参考了几个例子(例如*),但仍然存在一些问题。我不断得到: ValueError:没有可用的强制转换功能。 当涉及到从我的类型到内置类型的铸造。P

如果我想支持从我的数据类型转换为例如np.float:
a=np.array([10,20],np.float).astype(\u float.myType)//将np.float数组强制转换为我的np.myType数组
b=np.array(a).astype(np.float)//将np.myType数组转换为np.float数组

我在互联网上只参考了几个例子(例如*),但仍然存在一些问题。我不断得到:
ValueError:没有可用的强制转换功能。

当涉及到从我的类型到内置类型的铸造。
PyArray\u ArrFuncs
的对象仅对其具有特殊属性
cast
。因此,如果我想从type转换为np.float,我应该这样做。
MyType\u ArrFuncs.cast[NPY\u FLOAT]=(PyArray\u VectorUnaryFunc*)MyType\u to\u FLOAT;
当然,在
PyArray\u RegisterDataType

是吗?

好的,所以我计算出
MyType\u ArrFuncs.cast[NPY\u FLOAT]=(PyArray\u VectorUnaryFunc*)MyType\u to\u FLOAT,允许我进行这种转换
b=np.array(a).astype(np.float32)
,而不是
b=np.array(a).astype(np.float)
Ok,所以我计算出
MyType\u ArrFuncs.cast[NPY\u float]=(PyArray\u VectorUnaryFunc*)MyType\u to\u float
,允许我进行此转换
b=np.array(a).astype(np.float32)
,而不是
b=np.array(a).astype(np.float)