Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C-API实现Numpy阵列中的轴反转 我使用Python C-API将一些C++代码包装为Python包。 最后,我必须反转numpy数组中的轴,即_Python_Numpy_Python C Api - Fatal编程技术网

使用C-API实现Numpy阵列中的轴反转 我使用Python C-API将一些C++代码包装为Python包。 最后,我必须反转numpy数组中的轴,即

使用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

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 getitem\uuuu()
方法

您将要查看以下链接:




不过,如果您还没有使用过C API,我建议您首先阅读一下如何使用C API,因为如果您只习惯于常规Python,这可能会有点混乱。例如,必须使用
Py_DECREF()
Py_XDECREF()
宏显式减少代码中创建的任何引用的引用计数

可以调用数组的
reverse()
方法吗?Numpy数组没有reverse方法,对吗?Reverse只适用于afaik-oh列表,显然也适用于python数组。但是这些只是平面对象,而不是像numpy数组那样的nd数组。创建一个
slice
对象怎么样?这可能会奏效。但我还没有找到一种用C-API实现这一点的方法。你有这些文件的链接吗?