groupby sum()没有相加,但显示了奇怪的结果



我有一个数据集,我正试图通过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']

代码不进行累加,而是将值累加到一行中。我知道sum函数加起来了,但不知道为什么不起作用。令人惊讶的是,我使用了相同的代码来添加其他列,并且工作得非常好。

结果是

abc 1
bcd 1111
ced 11
dfd 1

预期结果

abc 1
bcd 4
ced 2
dfd 1

请帮我了解出了什么问题。感谢

在groupby和sum之前使用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

最新更新