binning um dataframe em pandas em Python

dado o seguinte dataframe em pandas:

import numpy as np
df = pandas.DataFrame({"a": np.random.random(100), "b": np.random.random(100), "id": np.arange(100)})

Ondeid é um id para cada ponto que consiste em uma eb valor, como possoa eb em um conjunto especificado de compartimentos (para que eu possa, então, obter o valor mediano / médio dea eb em cada caixa)?df pode terNaN valores paraa oub (ou ambos) para qualquer linha dada emdf. obrigado.

Aqui está um exemplo melhor usando a solução de Joe Kington com um df mais realista. O que estou inseguro é como acessar os elementos df.b para cada grupo df.a abaixo:

a = np.random.random(20)
df = pandas.DataFrame({"a": a, "b": a + 10})
# bins for df.a
bins = np.linspace(0, 1, 10)
# bin df according to a
groups = df.groupby(np.digitize(df.a,bins))
# Get the mean of a in each group
print groups.mean()
## But how to get the mean of b for each group of a?
# ...

questionAnswers(4)

yourAnswerToTheQuestion