def recode axis=:vector, &block
      dispatch_to_axis_pl axis, :recode, &block
    end
Maps over the DataFrame and returns a DataFrame. Each run of the
block must return a Daru::Vector object. You can specify the axis
to map over. Default to :vector.

== Description

Recode works similarly to #map, but an important difference between
the two is that recode returns a modified Daru::DataFrame instead
of an Array. For this reason, #recode expects that every run of the
block to return a Daru::Vector.

Just like map and each, recode also accepts an optional _axis_ argument.

== Arguments

* +axis+ - The axis to map over. Can be :vector (or :column) or :row.
Default to :vector.