使用Python复制scipy.signal.savgol_筛选器结果时出错。包含在.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,2.86,0.66,0.17,1,4,9.]) 我有以下使用Python的代码使用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,
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模块在正确打印版本时已导入
那么,我做错了什么?我该如何解决这个问题
提前谢谢