Split a large pandas dataframe

Use np.array_split to split evenly into n parts:

import numpy as np
np.array_split(df, 3)
# splits into 3 equal parts