The docs say:
Data Matrix used in XGBoost. DMatrix is an internal data structure that is used by XGBoost, which is optimized for both memory efficiency and training speed. You can construct DMatrix from multiple different sources of data.
I get this bit but what's the difference/use of DMatrix instead of a Pandas Dataframe?