groupby sum()未加总,但显示出奇怪的结果

时间:2019-10-31 14:31:24

标签: python-3.x pandas dataframe group-by

我有一个数据集,我正在尝试通过userID进行汇总。我需要计算每个用户的订单总和。

ID  ORDER
abc 1
bcd 1
ced 1
dfd 1
bcd 1
ced 1
bcd 1
bcd 1

这是数据集

这是我使用的代码

TotalOrders=PL_training.groupby('ID').GR_ORDERS.sum().reset_index()
TotalOrders.columns=['ID','TotalOrders']

与其将代码相加,不如将代码累加到一行。我知道求和函数加起来,但不确定为什么不起作用。出乎意料的是,我使用相同的代码将其他列加起来,并且运行良好。

结果是

abc 1
bcd 1111
ced 11
dfd 1

预期结果

abc 1
bcd 4
ced 2
dfd 1

请帮助我了解问题所在。谢谢

1 个答案:

答案 0 :(得分:2)

使用Series.astype隐瞒int 在分组和和之前

new_df=df.copy()
new_df['ORDER']=new_df['ORDER'].astype(int)
new_df.groupby('ID')['ORDER'].sum()

df.groupby('ID')['ORDER'].apply(lambda x: x.astype(int).sum())

ID
abc    1
bcd    4
ced    2
dfd    1
Name: ORDER, dtype: int64