我正在尝试将我在C++
代码中生成的双精度向量传递给一个python
numpy 数组。一旦我填充了 numpy 数组,我希望在其中进行一些下游处理Python
并希望使用一些 python 工具。我想做的最重要的事情之一就是能够绘制事物,而 C++ 在这方面有点笨拙。我还希望能够利用 Python 的统计能力。
虽然我不是很清楚如何做到这一点。我花了很多时间浏览 Python C API 文档。我遇到了一个显然可以解决问题的函数 PyArray_SimpleNewFromData。就代码的整体设置而言,我仍然很不清楚。我正在构建一些非常简单的测试用例来帮助我理解这个过程。我在 Visual Studio express 2012 中生成了以下代码作为独立的 Empty 项目。我将此文件称为 Project1
#include <Python.h>
#include "C:/Python27/Lib/site-packages/numpy/core/include/numpy/arrayobject.h"
PyObject * testCreatArray()
{
float fArray[5] = {0,1,2,3,4};
npy_intp m = 5;
PyObject * c = PyArray_SimpleNewFromData(1,&m,PyArray_FLOAT,fArray);
return c;
}
我的目标是能够在 Python 中读取 PyObject。我被卡住了,因为我不知道如何在 Python 中引用这个模块。特别是如何从 Python 导入此项目,我尝试从 python 中的项目路径导入 Project1,但失败了。一旦我理解了这个基本情况,我的目标就是想办法将我在主函数中计算的向量容器传递给 Python。我也不知道该怎么做。
任何可以帮助我解决这个问题的专家,或者发布一个简单的包含一些代码的示例,这些代码从一个简单的 c++ 向量中读取并填充一个 numpy 数组,我将不胜感激。提前谢谢了。