使用IronPython数据流计算C#中的移动平均值

时间:2017-07-26 14:55:15

标签: c# python ironpython

我有一个传感器,它通过在IronPython上运行的Python脚本显示实时数据。不幸的是,IronPython不支持pandas,因此我无法在Python脚本中使用pd.rolling_mean函数,或者实时执行大量数据处理(据我所知)。

当我在Visual Studio中运行以下程序时,会出现一个控制台应用程序,来自传感器的数据开始流入。我的目标是计算此数据流的rolling_mean,然后触发事件一旦rolling_mean超过某个值。

我仅限于IronPython,因为这是传感器公司运行其实时数据脚本所需的。不幸的是,我无法找到实时处理该数据流的方法。

我想知道是否有办法让我在C#中写入rolling_mean来处理数据流 - 类似于以下问题:Calculate a moving std in C#

感谢您的任何反馈和支持!我目前的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IronPython.Hosting;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter Y to begin:");
            var input = Console.ReadLine();
            var py = Python.CreateEngine();

            var engine = Python.CreateEngine();
            var paths = engine.GetSearchPaths();
            paths.Add("C:\\Python34\\Lib\\site-packages");
            engine.SetSearchPaths(paths);

            try
            {
                py.ExecuteFile("C:\\Users\\MyName\\Desktop\\Sensor_Data.py");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
            Console.WriteLine("Press Enter to Exit");
            Console.ReadLine();
        }
    }
}

0 个答案:

没有答案