考虑
ID EXPENDITURE
1 100
1 101
1 88
2 28
2 77
我希望按ID计算总支出,即:
ID TOTAL_EXPENDITURE
1 289
2 105
我目前的代码如下:
list = []
for i in df.ID.unique()
CSPEC = df.loc[df['ID'] == i]
TOTAL_EXP = CSPEC['EXPENDITURE'].sum()
list.append(TOTAL_EXP)
这确实会给我答案。但是,我面临117705个唯一ID,这个for循环需要很长时间。
我读过关于numpy的内容,但是在关注了YouTube教程后,我仍然不确定如何实现它;因此,我更喜欢不同的方法(如果可能的话!)任何人都可以帮助我吗?
答案 0 :(得分:1)
试试这个:
df.groupby('ID')['EXPENDITURE'].sum()
获取每个ID的支出总和。它仍然很快,因为Pandas建立在numpy上。