THM*_*THM 10 c python api pandas
我正在使用C/C++从传统后端系统中提取海量数据,并使用它将其移至Python distutils
.在Python中获取数据后,我将其放入pandas DataFrame对象进行数据分析.现在我想走得更快,并希望避免第二步.
是否有用于pandas的C/C++ API在C/C++中创建DataFrame,添加我的C/C++数据并将其传递给Python?我正在考虑类似于numpy C API的东西.
我已经想要在C中创建numpy数组对象作为一种解决方法,但我大量使用时间序列数据,并且也喜欢拥有TimeSeries和date_range对象.
我正在处理类似的问题,使用C API从Pandas不支持的格式加载数据.我找到了两种方法来解决这个问题,希望有人可能会发现它们很有用.
Pandas数据框是纯Python类,因此它们不容易从C/C++构造,但各列的底层数据存储(参见类Series source)是numpy 1D数组.Numpy有一个很好的C API,你可以从C构造numpy数组,然后将它传递给你的Python代码.
第二种解决方案是为Pandas编写自己的输入模块.这并不像听起来那么多,可能非常有效.Pandas低级IO模块是用Cython编写的(Python和C之间的特殊语言,编译为C),例如,参见parser.pyx.虽然这个特定的解析器非常复杂,但是你的基本上只需调用你的遗留C代码.
所有的pandas类(TimeSeries,DataFrame,DatetimeIndex等)都有纯Python定义,因此没有C API.您可能最好将N中的ndarray从C传递到Python代码,并让Python代码从中构建pandas对象.
如果有必要,您可以使用PyObject_CallFunction
等来调用pandas构造函数,但是您必须注意从模块导入访问名称并检查错误.
小智 5
现在有一个C ++库,就接口和功能而言,它等效于Pandas软件包。请参阅Linkedin中的这篇文章“ https://www.linkedin.com/pulse/pythons-pandas-c-update-hossein-moein/ ”“开源代码位于” https://github.com/hosseinmoein/DataFrame “
归档时间: |
|
查看次数: |
11425 次 |
最近记录: |