我已经将CSV中的数据集作为数组数组导入Ruby(每行都是一个数组)。我想将每列从0到1标准化。因此,我必须找到每列的最大值和最小值。是否有捷径可寻?或者我是否必须解析每行中的每个列值?
谢谢!
答案 0 :(得分:2)
您可以使用Array#transpose
将内部数组作为列,然后使用Enumerable#min
和#max
获取您的值。
copy = csv_data.transpose
copy.each do |a| #do whatever you need here
a.min
a.max
end
或类似的东西
copy = csv_data.transpose
arr_min = copy.map(&:min) # returns an array of the min values
arr_max = copy.map(&:max) # returns an array of the max values