小编gbh*_*gbh的帖子

在Python中将C++ std :: Vector传递给numpy数组

我正在尝试传递一个双打向量,我在我的C++代码中生成一个pythonnumpy数组.Python一旦我填充了numpy数组,我希望做一些下游处理并想要使用一些python工具.我想要做的最重要的事情之一是能够绘制事物,而C++在这方面有点笨拙.此外,我希望能够利用Python的统计能力.

虽然我不清楚如何做到这一点.我花了很多时间浏览Python C API文档.我遇到了一个函数PyArray_SimpleNewFromData,显然可以做到这一点.就代码的整体设置而言,我仍然不清楚.我正在构建一些非常简单的测试用例来帮助我理解这个过程.我在Visual Studio Express 2012中生成了以下代码作为一个Standlone 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; 
}
Run Code Online (Sandbox Code Playgroud)

我的目标是能够在Python中读取PyObject.我被困了,因为我不知道如何在Python中引用这个模块.特别是我如何从Python导入这个项目,我试图从python中的项目路径进行导入Project1,但失败了.一旦我理解了这个基本情况,我的目标是找出一种方法将我在main函数中计算的向量容器传递给Python.我不知道该怎么做.

任何可以帮助我的专家,或者可能发布一个简单的包含一些代码的例子,这些代码读入并从一个简单的c ++向量中填充一个numpy数组,我将不胜感激.提前谢谢了.

c++ arrays numpy vector

13
推荐指数
3
解决办法
9847
查看次数

标签 统计

arrays ×1

c++ ×1

numpy ×1

vector ×1