一尘不染

pandas,groupby和count

python

我有一个这样的数据框说

>>> df = pd.DataFrame({'user_id':['a','a','s','s','s'],
                    'session':[4,5,4,5,5],
                    'revenue':[-1,0,1,2,1]})

>>> df
   revenue  session user_id
0       -1        4       a
1        0        5       a
2        1        4       s
3        2        5       s
4        1        5       s

和会话和收入的每个值代表了一种类型的,我要统计每个种类的数量表示的数量revenue=-1session=4user_id=a为1。

count()groupby()无法输出所需结果后,我发现简单的调用函数。

>>> df.groupby('user_id').count()
         revenue  session
user_id
a              2        2
s              3        3

我怎样才能做到这一点?


阅读 185

收藏
2020-12-20

共1个答案

一尘不染

您似乎想一次按几列分组:

df.groupby(['revenue','session','user_id'])['user_id'].count()

应该给你你想要的

2020-12-20