首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用C-API实现Numpy数组中轴的反转

用C-API实现Numpy数组中轴的反转
EN

Stack Overflow用户
提问于 2011-08-09 18:26:04
回答 1查看 693关注 0票数 3

我正在使用Python C-API将一些C++代码包装为Python包。最后,我必须在numpy数组中反转一个轴,即做

X= x:,::-1

有没有什么方法可以使用Numpy C-API来做到这一点呢?我知道有转置和交换轴的例程,但我还没有找到太多关于索引的东西。有什么想法吗?谢谢,安迪

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-09 21:56:59

由于Python中的索引只是调用对象的__getitem__()方法的语法糖(即x[:, ::-1]相当于x.__getitem__((slice(None), slice(None, None, -1)))),因此您只需构造所需的切片对象,以正确的顺序将它们存储在元组中,然后使用元组作为参数调用对象的__getitem__()方法。

您需要查看以下链接:

http://docs.python.org/c-api/slice.html#PySlice_New

http://docs.python.org/c-api/tuple.html#PyTuple_Pack

http://docs.python.org/c-api/object.html#PyObject_GetItem

不过,如果您还没有使用C API,我建议您首先阅读有关如何使用C API的知识,因为如果您只习惯于使用常规的Python,那么它可能会让人感到困惑。例如,必须显式地递减使用Py_DECREF()Py_XDECREF()宏在代码中创建的任何引用的引用计数。http://docs.python.org/c-api/refcounting.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6994725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档