title: Dask dataframe groupby-agg with known divisions
body: <p>When running groupby-agg on a Dask dataframe, the resulting Dask dataframe is not indexed. If the groupby is run on a single column, is it possible to achieve an indexed Dask dataframe?</p>
  <pre class="lang-py prettyprint-override"><code>from dask.datasets import timeseries
  df = timeseries()
  a = df.groupby('name').agg('sum')
  print(a.known_divisions)  # False
  </code></pre>
  <p>To get the indexed dataframe, it's possible to do:</p>
  <pre class="lang-py prettyprint-override"><code>b = a.reset_index().set_index('name')
  print(b.known_divisions)  # True
  </code></pre>
  <p>However, the <code>.set_index</code> operation will shuffle data, which might be possible to avoid at the time of groupby-agg.</p>
  <p>Is there any other set of operations that will eventually give the aggregated dataframe such that <code>a.known_divisions==True</code>?</p>
  <p>Update: the specific use case I have in mind is when the unique values of name column are known (and there could be many, many unique values). For example, pretend there is a million names, then it would be great to get the groupby-agg result, so that all names starting with 'A' are in one partition, with 'B' in second partition, etc.</p>