dataframe.py is getting large again. We should just make each class its own file.
[Github] Pull Request #6201 (davies)