我正在使用python-c绑定,因此遇到以下问题。在python类中,有一个名为mean的属性,它是形状(2,3)的numpy数组。如果pInstance是该类的PyObject *,我想做这样的事情:
PyObject* pMeans = PyObject_GetAttrString(pInstance,"means");
PyArrayObject* contig = (PyArrayObject*)PyArray_FromAny(pMeans,
PyArray_DescrFromType(NPY_DOUBLE),
2, 3, NPY_ARRAY_CARRAY, NULL);
我得到的是ValueError:对于所需数组而言深度太小的对象。我还尝试了简单的转换:
PyArrayObject* contig = (PyArrayObject*)pMeans;
进行此转换的适当方式是什么?