Я бы сделал что-то вроде этого:
array = [{"1" => 1, "2" => 2, "3" =>3},{"1" => 1, "2" => 2, "3" =>3},{"1" => 1, "2" => 2, "3" =>3}]
array.map { |hash| hash['1'] }.inject { |sum, el| sum + el }.to_f / array.size
#=> 1.0
array.map { |hash| hash['1'] }
извлекает значения для всех элементов с ключом '1'
([1,1,1]
) в этом примере.И .inject{ |sum, el| sum + el }.to_f / array.size
вычисляет среднее значение.