求列的前值之和
我遇到了一个比较简单的问题,但找不到解决办法。
我们来看一个表格:
A
1
4
5
2
我想创建一个新列(B),这个列的值是从第一行到当前行的A列的总和:
A B
1 1
4 5
5 10
2 12
我一直在思考和寻找解决方案,但一直没有找到。你有什么想法吗?
我的思路是:
- 先创建一个默认值为0的列。df['B']=0
- 然后用df['B']=df.B.shift()+df.A来计算。
有没有办法用Python来解决这个问题呢?
2 个回答
0
试试这个:
t = [1,4,5,2]
f2 = 0
for f1 in t:
f2 += f1
print f1, f2
0
做:
lA = [1,4,5,2]
lB = [sum(l[0:i+1]) for i in range(len(l))]
如果你不明白列表推导式,这里有一个更详细的代码版本:
lB = []
for i in range(len(l)):
lStuffAbove = l[0:i+1]
lB.append(sum(lStuffAbove))