-3
a = [[24, 18.0], [24, 16.0], [25, 15.0]]

b = [[24、17.0]、[25、15.0]]が必要です

サブ配列の2番目の項目の平均値を計算するために必要な2つのルールがあります。つまり[24, 18.0], [24, 16.0] #=> [24, 17.0]、これは自分で個別に行うことができますが、「ルビーウェイ」ソリューションのようにreduceとaverageを組み合わせる方法がわかりません。a.collect{...}

4

1 に答える 1

1

group_by共通のキーをグループ化しsum/size、平均を取得するために使用できます。

b = a.group_by(&:first).map do |k,v| 
  [k, v.map(&:last).inject(:+) / v.size]
end
于 2012-11-30T15:27:15.303 に答える