Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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
使用Python复制scipy.signal.savgol_筛选器结果时出错。包含在.Net中_Python_.net - Fatal编程技术网

使用Python复制scipy.signal.savgol_筛选器结果时出错。包含在.Net中

使用Python复制scipy.signal.savgol_筛选器结果时出错。包含在.Net中,python,.net,Python,.net,我想在.Net程序中使用savgol过滤器。我正在探索几种方法,并使用Python.Included包就是其中之一。为了验证,我使用scipy.signal的savgol过滤器帮助页面()上的示例作为基线结果 从scipy.signal导入savgol_滤波器 np.设置打印选项(精度=2)#用于紧凑显示 x=np.数组([2,2,5,2,1,0,1,4,9]) 窗口长度为5和二次多项式的滤波器。对所有其他参数使用默认值 savgol_滤波器(x,5,2) 数组([1.66,3.17,3.54,

我想在.Net程序中使用savgol过滤器。我正在探索几种方法,并使用Python.Included包就是其中之一。为了验证,我使用scipy.signal的savgol过滤器帮助页面()上的示例作为基线结果

从scipy.signal导入savgol_滤波器

np.设置打印选项(精度=2)#用于紧凑显示

x=np.数组([2,2,5,2,1,0,1,4,9])

窗口长度为5和二次多项式的滤波器。对所有其他参数使用默认值

savgol_滤波器(x,5,2)

数组([1.66,3.17,3.54,2.86,0.66,0.17,1,4,9.])

我有以下使用Python的代码

    static async Task Main(string[] args)
    {
        await Installer.SetupPython();

        Installer.TryInstallPip();
        Installer.PipInstallModule("numpy");
        Installer.PipInstallModule("scipy");

        PythonEngine.Initialize();

        dynamic sys = PythonEngine.ImportModule("sys");
        dynamic np = Py.Import("numpy");
        dynamic scipy = Py.Import("scipy");
        dynamic scipySignal = Py.Import("scipy.signal");

        Console.WriteLine("Python version: " + sys.version);
        Console.WriteLine("Numpy version: " + np.__version__);
        Console.WriteLine("Scipy version: " + scipy.__version__);

        var array = new double[] { 2.0d, 2.0, 5.0, 2.0, 1.0, 0.0, 1.0, 4.0, 9.0 };
        var x = np.array(array);
        
        Console.WriteLine(x);
        var result = scipySignal.savgol_filter(array, 5, 2);

        Console.WriteLine(result);
然而,当我调用带有错误消息的scipySignal.savgol_过滤器(array,5,2)时,这段代码出错了

TypeError:float()参数必须是字符串或数字,而不是“Double[]”

仅供参考…我已验证sys、numpy和scipy模块在正确打印版本时已导入

那么,我做错了什么?我该如何解决这个问题

提前谢谢