Я пытаюсь понять, как LINQ можно использовать для группировки данных с интервалами времени; а затем идеально объединяют каждую группу.Объединение и группа LINQ по периодам времени
Поиск многочисленных примеров с явными диапазонами дат, я пытаюсь группировать по периодам, таким как 5 минут, 1 час, 1 день.
К примеру, у меня есть класс, который оборачивает в DateTime со значением:
public class Sample
{
public DateTime timestamp;
public double value;
}
Эти наблюдения содержатся в виде серии в коллекции List:
List<Sample> series;
Так, в группе почасовые периоды времени и совокупное значение в среднем, я пытаюсь сделать что-то вроде:
var grouped = from s in series
group s by new TimeSpan(1, 0, 0) into g
select new { timestamp = g.Key, value = g.Average(s => s.value };
T его принципиально недостаток, поскольку он группирует сам TimeSpan. Я не могу понять, как использовать TimeSpan (или любой тип данных, представляющий интервал) в запросе.
Опишите свой вопрос с данными примера? – Lrrr
@AliAmiri - Я думаю, что это достаточно ясно. Примеры результатов могут помочь. –
Фантастический вопрос. Я уверен, что многие люди борются с этой точной задачей. Кажется, что данные временных рядов имеют множество трудностей. – Zapnologica