首页 > 解决方案 > python函数输入参数中的空格,因为它是一个cython函数?

问题描述

我对cython一无所知,只有python。

下面的函数emd_c来自pot最佳传输包)有一个头文件,它的参数格式我以前从未见过,或者我认为在独立的 python/numpy 下不能工作,但也许只有在加载 cython 的情况下。

def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mode="c"] b, np.ndarray[double, ndim=2, mode="c"] M, int max_iter):

如您所见,参数本身([] a, [] b, [] M)中有空格,这通常是非法的。

我想单独使用这个函数,而不是安装它来自的整个包:

将函数从它来自的包中复制出来,并将函数本身粘贴到我自己的脚本中,invalid syntax当我尝试运行我的脚本时,Spyder 立即给了我一个错误,即使我只期望与缺少依赖项有关的错误。我在这里的问题只与试图理解这个看起来很奇怪的函数有关。

  1. 什么解释了这个函数中输入参数的奇怪格式?是因为它不符合 python-in-isolation 并且还需要 cython 吗?
  2. 如何使这种功能正常运行?

标签: pythonfunctioncythontransportearth-movers-distance

解决方案


推荐阅读