从列中求和数据

时间:2016-06-17 15:14:29

标签: python pandas dataframe group-by

我有DataFrame喜欢:

1        member_id  application_name  active_seconds 
2           192180             Opera   6
3           192180             Opera   7
4           192180             Chrome  243
5           5433112            Chrome   52
6           5433112            Opera   34
7           5433112            Chrome 465

我尝试将其分组。

我想将application_name计为id并将active_seconds加至application_name。 我使用df.groupby(['member_id', 'application_name'])['event_duration'].sum()df.groupby(['member_id', 'application_name']).size(),然后第二次返回给我正确的值,但首先返回

       member_id  application_name  active_seconds
       192180             Opera             67
       192180             Chrome            243
       5433112            Chrome           52465
       5433112            Opera              34

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您的active_seconds似乎是dtype string,因此sum()将它们连接起来。

如果您执行df.info(),则active_seconds可能会将object显示为dtype,这意味着它们是string而不是int。做

df.active_seconds =  pd.to_numeric(df.active_seconds)

转换。如果出现错误,您可以使用关键字errors来处理docs中所述的问题。