2016-02-29 59 views
2

我有一个数据帧x如何创建或更新列

item S sale 
A1  1 5 
A1  2 10 
A2  1 3 
A2  2 7 
A2  3 8 

,我想正是这种格式

item S sale cumsum 
A1  1 5  5 
A1  2 10 15 
A2  1 3  3 
A2  2 7  10 
A2  3 8  18 

我创建了一个字典,项目和关键值的结果并使用for循环

x_dict=df.groupby(['item']).apply(lambda g: g.S.values).to_dict() 

for i , j in x_dict.iteritems(): 

但我无法访问值其给出的错误:

(Unexpected EOF file)

回答

1

你可以尝试groupbycumsum

df['cumsum'] = df.groupby('item')['sale'].cumsum() 
print df 
    item S sale cumsum 
0 A1 1  5  5 
1 A1 2 10  15 
2 A2 1  3  3 
3 A2 2  7  10 
4 A2 3  8  18