如何计算C#数组列表的滚动平均值?

编码器

我正在尝试计算数组列表中每四个值的滚动平均值,并将这些值添加到单独的数组列表中。我原始的数组列表称为numlist,它包含1到9之间的值

List<int> numlist = new List<int>();

numlist.Add(1);
numlist.Add(2);
numlist.Add(3);
numlist.Add(4);
numlist.Add(5);
numlist.Add(6);
numlist.Add(7);
numlist.Add(8);
numlist.Add(9);

在计算滚动平均值时,应采用以下方式:

第一平均值=(1 + 2 + 3 + 4)/ 4

第二平均值=(2 + 3 + 4 + 5)/ 4

第三平均值=(3 + 4 + 5 + 6)/ 4

等等

所以第二个数组列表

List<double> avelist = new List<double>();

应该包含这些值

{2.5, 3.5, 4.5, 5.5, 6.5, 7.5}

我怎样才能做到这一点?

雷内·沃格特(Rene Vogt)

您可以像这样使用LINQ:

List<double> averages = Enumerable.Range(0, numlist.Count - 3).
                              Select(i => numlist.Skip(i).Take(4).Average()).
                              ToList();

在您的示例中,此操作从i = 0i = 5并从列表开始以索引开始获取4个元素,i并计算它们的平均值。

您可以像这样输出结果:

Console.WriteLine(string.Join(" ", averages));

滚动平均值具有可变“宽度”的方法如下所示:

public List<double> RollingAverage(List<int> source, int width)
{
    return Enumerable.Range(0, 1 + numlist.Count - width).
                              Select(i => numlist.Skip(i).Take(width).Average()).
                              ToList();
}

说明文件:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#计算int数组中值的平均值

来自分类Dev

计算数组c ++的平均值

来自分类Dev

计算熊猫的连续滚动平均值作为数组函数?

来自分类Dev

如何计算每列的滚动平均值

来自分类Dev

你如何计算Python中数组数组的平均值?

来自分类Dev

如何计算数组列表中特定间隔集的平均值?

来自分类Dev

计算平均值C ++

来自分类Dev

python panda计算滚动平均值

来自分类Dev

计算n天滚动平均值

来自分类Dev

计算滚动 180 天平均值

来自分类Dev

如何从记录列表中计算平均值

来自分类Dev

如何计算范围为10的数组的平均值?

来自分类Dev

如何计算每个类的数组的平均值?

来自分类Dev

计算C中n个数字的数组的平均值

来自分类Dev

计算C#中序号的平均值

来自分类Dev

从文本文件 c# 计算平均值

来自分类Dev

C# Linq 聚合结果并计算平均值

来自分类Dev

从数据列表中计算平均值

来自分类Dev

递归计算列表平均值

来自分类Dev

R-如何计算n个先前值的平均值/平均值,但不包括当前观察值(滚动平均值)

来自分类Dev

计算NumPy中数组的平均值

来自分类Dev

从JavaScript数组计算平均值

来自分类Dev

计算数组的平均值

来自分类Dev

从数组中读取并计算平均值

来自分类Dev

C#如何打印/显示数组中所有数字与平均值之间的“差”

来自分类Dev

如何获得居中滚动平均值?

来自分类Dev

计算平均值?

来自分类Dev

如何计算范围psql的平均值

来自分类Dev

如何计算猫鼬的平均值?