您好我有一个熊猫框架的工作就像熊猫的积累:没有for循环
1. 1
2. 2
3. 3
4. 4
和输出是一样的东西
1. 1
2. 3
3. 6
4. 10
其中每个值是当前值加上最后一个(3 = 1 + 2,6 = 3 + 3,10 = 6 + 4等)。
我可以不用for循环吗?
您好我有一个熊猫框架的工作就像熊猫的积累:没有for循环
1. 1
2. 2
3. 3
4. 4
和输出是一样的东西
1. 1
2. 3
3. 6
4. 10
其中每个值是当前值加上最后一个(3 = 1 + 2,6 = 3 + 3,10 = 6 + 4等)。
我可以不用for循环吗?
您需要Series.cumsum
:
print (df)
col
1.0 1
2.0 2
3.0 3
4.0 4
df['col1'] = df.col.cumsum()
print (df)
col col1
1.0 1 1
2.0 2 3
3.0 3 6
4.0 4 10
如果需要覆盖列col
:
df.col = df.col.cumsum()
print (df)
col
1.0 1
2.0 3
3.0 6
4.0 10
['pd.DataFrame.cumsum'](http://pandas.pydata.org/pandas-docs /stable/generated/pandas.DataFrame.cumsum.html)是你正在寻找 –
@ M.Klugerford这将做到这一点。谢谢。顺便说一句,对于每个值,cumsum()在此之前总结所有值吗?如果是这样,它可能不是很有效的权利?有没有办法不断更新以前的值并将其添加到当前值? – glhclhy