I've never been an R user, but if I understand you, you want to group the data into bins and describe each bin.
In [9]: df.groupby('binned_a').describe().unstack()
Out[9]: a \
count mean std min 25% 50%
binned_a
(-0.113, 0.109] 2 0.025114 0.010264 0.017856 0.021485 0.025114
(-0.337, -0.113] 2 -0.282838 0.056445 -0.322751 -0.302794 -0.282838
(0.109, 0.563] 3 0.354481 0.214402 0.134978 0.250027 0.365076
[-1.842, -0.337] 3 -1.003969 0.765167 -1.841622 -1.335073 -0.828523
75% max
binned_a
(-0.113, 0.109] 0.028742 0.032371
(-0.337, -0.113] -0.262882 -0.242925
(0.109, 0.563] 0.464233 0.563390
[-1.842, -0.337] -0.585142 -0.341762
To avoid Categoricals altogether, see https://stackoverflow.com/a/17150734/1221924