title: Get row iterables for each group via GROUP BY clause
body: <p>I know how to get an iterable for all the rows in a selection, but I would like to add a <code>GROUP BY</code> statement to my selection and return a set of iterables instead, one for each group. That is, suppose I have a table like so:</p>
  <p><a href="https://i.stack.imgur.com/fIMx5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/fIMx5.png" alt="enter image description here" /></a></p>
  <p>and suppose I want to group by <code>nationality</code>; I would like a set (e.g. iterable) of iterables with the following rows: <code>[1, 3], [2, 5], [4, 6], [7]</code> (in no particular order). Currently I'm doing this manually using <code>order_by</code> on <code>nationality</code> and iterating over all the rows; is there a built-in way using sqlalchemy?</p>
  <p>From what I've read, the <code>group_by</code> method only allows you to do what SQL <code>GROUP BY</code> does, which is somewhat limited - I'm looking for something like the pandas groupby which allows you to apply an arbitrary function to each group.</p>