def apply_where bool_array, &block
      Daru::Core::Query.vector_apply_where self, bool_array, &block
    end
Return a new vector based on the contents of a boolean array and &block.

@param bool_array [Daru::Core::Query::BoolArray, Array<TrueClass, FalseClass>, &block] The
collection containing the true of false values. Each element in the Vector
corresponding to a `true` in the bool_array will be returned along with it's
index. The &block may contain manipulative functions for the Vector elements.

@return [Daru::Vector]

@example Usage of #apply_where.
dv = Daru::Vector.new ['3 days', '5 weeks', '2 weeks']
dv = dv.apply_where(dv.match /weeks/) { |x| "#{x.split.first.to_i * 7} days" }
# =>
##<Daru::Vector(3)>
#  0   3 days
#  1   35 days
#  2   14 days