Dataframe extension integration

`xrange` would be more (space-)efficient than `range` (unless you were worried about python 3 compatibility).