def map! axis=:vector, &block
      if %i[vector column].include?(axis)
        map_vectors!(&block)
      elsif axis == :row
        map_rows!(&block)
      end
    end
def map! axis=:vector, &block
      if %i[vector column].include?(axis)
        map_vectors!(&block)
      elsif axis == :row
        map_rows!(&block)
      end
    end
Destructive map. Modifies the DataFrame. Each run of the block
 must return a Daru::Vector. You can specify the axis to map over
 as the argument. Default to :vector.

 == Arguments

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