Я должен генерировать мусорные ведра в целях вычислить гистограмму. Язык является C#. В основном я должен взять в массиве десятичных чисел и генерировать график гистограммы из тех.
Не были в состоянии найти, что достойная библиотека делает это напрямую поэтому теперь, я просто ищу или библиотеку или алгоритм, чтобы помочь мне сделать binning данных.
Так...
Вот простая функция корзины, которую я использую. К сожалению, универсальные шаблоны .NET не поддерживают ограничение числового типа, поэтому вам придется реализовать другую версию следующей функции для decimal, int, double и т. Д.
public static List<int> Bucketize(this IEnumerable<decimal> source, int totalBuckets)
{
var min = source.Min();
var max = source.Max();
var buckets = new List<int>();
var bucketSize = (max - min) / totalBuckets;
foreach (var value in source)
{
int bucketIndex = 0;
if (bucketSize > 0.0)
{
bucketIndex = (int)((value - min) / bucketSize);
if (bucketIndex == totalBuckets)
{
bucketIndex--;
}
}
buckets[bucketIndex]++;
}
return buckets;
}