binowanie ramki danych w pandach w Pythonie

podano następującą ramkę danych w pandach:

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

gdzieid jest identyfikatorem dla każdego punktu składającego się za ib wartość, jak mogę bina ib do określonego zestawu pojemników (dzięki czemu mogę przyjąć medianę / średnią wartośća ib w każdym koszu)?df może miećNaN wartości dlaa lubb (lub oba) dla dowolnego wiersza wdf. dzięki.

Oto lepszy przykład wykorzystania rozwiązania Joe Kingtona z bardziej realistycznym df. Nie jestem pewien, jak uzyskać dostęp do elementów df.b dla każdej z poniższych grup df.a:

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