gpt4 book ai didi

python - NumPy C-API : convert type object to type number

转载 作者:太空狗 更新时间:2023-10-30 00:08:13 24 4
gpt4 key购买 nike

函数

PyObject* PyArray_TypeObjectFromType(int);

将 NumPy 标量类型(NPY_BOOL、NPY_BYTE、...)的类型编号转换为相应的类型对​​象。

如何进行相反的转换,从 NumPy 标量类型的类型对象到相应的类型编号?

编辑:以下代码基于 kwatford 的回答。它接受类型对象,如 int 和 numpy.int16,以及字符串,如 "int"、u"int"和 "int16"。

int numpyScalarTypeNumber(PyObject* obj)
{
PyArray_Descr* dtype;
if(!PyArray_DescrConverter(obj, &dtype)) return NPY_NOTYPE;
int typeNum = dtype->type_num;
Py_DECREF(dtype);
return typeNum;
}

最佳答案

如果您可以获得 PyArray_Descr 结构而不是 PyArray_TypeObject,您可以简单地查看 type_num field 。可以使用 PyArray_DescrFromType 通过类型号获取 descr 结构。 .如果您查看该链接,还有一些函数可将各种内容转换为 descr 结构。它们通常可能比类型对象更有用,并且它们也包含对其类型的引用。

关于python - NumPy C-API : convert type object to type number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com