title: Split dataframe into relatively even chunks according to length
body: <p>I have to create a function which would split provided dataframe into chunks of needed size. For instance if dataframe contains 1111 rows, I want to be able to specify chunk size of 400 rows, and get three smaller dataframes with sizes of 400, 400 and 311. Is there a convenience function to do the job? What would be the best way to store and iterate over sliced dataframe?</p>
  
  <p>Example DataFrame</p>
  
  <pre><code>import numpy as np
  import pandas as pd
  
  test = pd.concat([pd.Series(np.random.rand(1111)), pd.Series(np.random.rand(1111))], axis = 1)
  </code></pre>