У меня есть словарь Интс:Лучший способ разделить элементы в словаре на сумму столбцов C#
Dictionary<string, int[]> ret = new Dictionary<string, int[]>();
int[] a = {1,2,3,4,5};
int[] b = { 3, 6, 9, 10, 12 };
int[] c = {2,3,3,5,6};
ret.Add("abc", a);
ret.Add("def", b);
ret.Add("ghi", c);
Что такое лучший способ суммировать значения в каждом из столбцов, а затем разделить на Всего? Например, первое значение будет 1/{1 + 3 + 2}
Вот что я пытался, но я думаю, что это подводит по строкам, а и он не работает из-за ошибки преобразования типа
public static Dictionary<string, double[]> freq(Dictionary<string, int[]> rawct)
{
Dictionary<string, double[]> scores = new Dictionary<string, double[]>();
foreach (KeyValuePair<string, int[]> kvp in rawct)
{
double[] percent = Array.ConvertAll(kvp.Value, x => (double)x);
var total = (double)kvp.Value.Sum();
var result = percent.Select(d => d/total);
scores.Add(kvp.Key, kvp.value);
}
return scores;
}
Если я хочу сохранить это в словаре, я просто сделаю 'Словарь results = score'? –
ccsv
действительно тип - Словарь, i отредактирован для объяснения экспликации –
George
есть ошибка в преобразовании типа в 'ret.ToDictionary' – ccsv