<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def tail(self, n=5):
 """Return DataFrame with last n values per column. Parameters n : int Number of values. Returns ------- DataFrame DataFrame containing the last n values per column. Examples -------- a b --- --- --- 1 6 1 2 7 2 """

        length = _obtain_length(self._length, self._data)

        new_index = self.index.tail(n)
        new_data = OrderedDict((column.name, _series_tail(column, new_index, length, n))
                               for column in self._iter())

        return DataFrame(new_data, new_index)