gpt4 book ai didi

python - GroupBy 中的 Pandas 累计和

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:10 26 4
gpt4 key购买 nike

我有一个时间序列数据,其中包含特定时间的符号及其各自的值。

index,symbol,value
01:00,A,10
01:00,B,15
01:01,A,15
01:01,B,25
01:02,A,30
01:02,B,45

现在我想创建一个第 4 列,它具有每个交易品种基于时间序列的累积值,但是从每个累积行中,每个交易品种的第一行值将分别减去

index,symbol,value,adjustedCumulativeSum
01:00,A,10,0
01:00,B,15,0
01:01,A,15,15
01:01,B,25,25
01:02,A,30,45
01:02,B,45,70

我知道如何做正常的累加和

df = df.reset_index().sort_values(['index','symbol'])
df['cumlativesum'] = df.groupby('symbol')['value'].cumsum()
df = df.set_index('index')

但是我是否要从所有累计总和中扣除第 0 行的值?

最佳答案

使用groupby带有自定义函数 cumsum并减去 iat 选择的第一个值:

df['adjustedCumulativeSum']=df.groupby('symbol')['value'].apply(lambda x:x.cumsum()-x.iat[0])
print (df)
index symbol value adjustedCumulativeSum
0 01:00 A 10 0
1 01:00 B 15 0
2 01:01 A 15 15
3 01:01 B 25 25
4 01:02 A 30 45
5 01:02 B 45 70

关于python - GroupBy 中的 Pandas 累计和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46991167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com