将 numpy 数组转换为 C++ 本机向量
Converting a numpy array into a c++ native vector
我目前有一个 python C 扩展,它采用 PyObject 列表,我可以使用 'PySequence_Fast'.
进行解析
是否有等效的命令允许我解析一维 numpy 数组?
干杯,
杰克
函数 PyArray_FROM_OTF
转换为一个 numpy 数组(除非参数已经是一个 numpy 数组,只是 returns 它具有递增的引用计数)。参见 http://docs.scipy.org/doc/numpy/user/c-info.how-to-extend.html#converting-an-arbitrary-sequence-object。例如
PyObject* definitely_numpy_array = PyArray_FROM_OTF(might_be_numpy_array,
NPY_DOUBLE, // you need to specify a type
0 // there's assorted flags you can add to describe the exact format you want which are described in the documentation
)
这适用于任意数量的维度,因此如果您严格要求一维,则必须添加一个检查。它还需要包含 numpy headers ("numpy/arrayobject.h")
我目前有一个 python C 扩展,它采用 PyObject 列表,我可以使用 'PySequence_Fast'.
进行解析是否有等效的命令允许我解析一维 numpy 数组?
干杯, 杰克
函数 PyArray_FROM_OTF
转换为一个 numpy 数组(除非参数已经是一个 numpy 数组,只是 returns 它具有递增的引用计数)。参见 http://docs.scipy.org/doc/numpy/user/c-info.how-to-extend.html#converting-an-arbitrary-sequence-object。例如
PyObject* definitely_numpy_array = PyArray_FROM_OTF(might_be_numpy_array,
NPY_DOUBLE, // you need to specify a type
0 // there's assorted flags you can add to describe the exact format you want which are described in the documentation
)
这适用于任意数量的维度,因此如果您严格要求一维,则必须添加一个检查。它还需要包含 numpy headers ("numpy/arrayobject.h")