code: def column_collect(&block)
        result = []
        0.upto(ncols-1) { |i| result << block.call(self[nil,i]) }
        result
      end
docs: Collects the operation on each column and returns the result in an array