使用C-API实现Numpy阵列中的轴反转 我使用Python C-API将一些C++代码包装为Python包。 最后,我必须反转numpy数组中的轴,即
x=x[:,:-1] 使用Numpy C-API有什么方法可以做到这一点吗? 我知道有转置和交换轴的例程,但我还没有找到太多关于索引的内容。 有什么想法吗? 谢谢使用C-API实现Numpy阵列中的轴反转 我使用Python C-API将一些C++代码包装为Python包。 最后,我必须反转numpy数组中的轴,即,python,numpy,python-c-api,Python,Numpy,Python C Api,x=x[:,:-1] 使用Numpy C-API有什么方法可以做到这一点吗? 我知道有转置和交换轴的例程,但我还没有找到太多关于索引的内容。 有什么想法吗? 谢谢 Andy因为Python中的索引只是调用对象的\uuuu getitem\uuuu()方法(即x[:,:-1]相当于x.\uu getitem\uuuuu((slice(None),slice(None,None,-1)),您只需构造所需的slice对象,并将它们以正确的顺序存储在元组中,然后用元组作为参数调用对象的\uuuu get
Andy因为Python中的索引只是调用对象的
\uuuu getitem\uuuu()
方法(即x[:,:-1]
相当于x.\uu getitem\uuuuu((slice(None),slice(None,None,-1))
,您只需构造所需的slice对象,并将它们以正确的顺序存储在元组中,然后用元组作为参数调用对象的\uuuu getitem\uuuu()
方法
您将要查看以下链接:
不过,如果您还没有使用过C API,我建议您首先阅读一下如何使用C API,因为如果您只习惯于常规Python,这可能会有点混乱。例如,必须使用
Py_DECREF()
或Py_XDECREF()
宏显式减少代码中创建的任何引用的引用计数 可以调用数组的reverse()
方法吗?Numpy数组没有reverse方法,对吗?Reverse只适用于afaik-oh列表,显然也适用于python数组。但是这些只是平面对象,而不是像numpy数组那样的nd数组。创建一个slice
对象怎么样?这可能会奏效。但我还没有找到一种用C-API实现这一点的方法。你有这些文件的链接吗?