Les Pandas groupby avec bin compte

J'ai un DataFrame qui ressemble à ceci:

+----------+---------+-------+
| username | post_id | views |
+----------+---------+-------+
| john     |       1 |     3 |
| john     |       2 |    23 |
| john     |       3 |    44 |
| john     |       4 |    82 |
| jane     |       7 |     5 |
| jane     |       8 |    25 |
| jane     |       9 |    46 |
| jane     |      10 |    56 |
+----------+---------+-------+

et je voudrais la transformer pour compter les points de vue qui appartiennent à certains bacs comme ceci:

+------+------+-------+-------+--------+
|      | 1-10 | 11-25 | 25-50 | 51-100 |
+------+------+-------+-------+--------+
| john |    1 |     1 |     1 |      1 |
| jane |    1 |     1 |     1 |      1 |
+------+------+-------+-------+--------+

J'ai essayé:

bins = [1, 10, 25, 50, 100]
groups = df.groupby(pd.cut(df.views, bins))
groups.username.count()

Mais il ne donne que des chiffres globaux et ne compte par l'utilisateur. Comment puis-je obtenir bin compte par l'utilisateur?

Les totaux (à l'aide de mes données réelles) ressemble à ceci:

impressions
(2500, 5000]         2332
(5000, 10000]        1118
(10000, 50000]        570
(50000, 10000000]      14
Name: username, dtype: int64

OriginalL'auteur metersk | 2015-12-16