我有一个类似于以下内容的数据框:Area Sector Date AmtFICC GOV 31/01/2019 100EQ CORP 31/01/2019 50FICC GOV 31/03/2019 200EQ CORP 31/03/2019 100FICC GOV 31/12/2018 50EQ CORP 31/12/2018 25我想根据日期获取增量。所以我期待的输出是Area Sector Date Amt DeltaFICC GOV 31/12/2018 50EQ CORP 31/12/2018 25FICC GOV 31/01/2019 100 50EQ CORP 31/01/2019 50 25FICC GOV 31/03/2019 200 100EQ CORP 31/03/2019 100 50大熊猫有没有一种有效的方法来实现上述目标?
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
sort日期,然后groupby+diff
import pandas as pd
df['Date'] = pd.to_datetime(df.Date)
df = df.sort_values('Date')
df['Delta'] = df.groupby(['Area', 'Sector']).Amt.diff()
Area Sector Date Amt Delta
4 FICC GOV 2018-12-31 50 NaN
5 EQ CORP 2018-12-31 25 NaN
0 FICC GOV 2019-01-31 100 50.0
1 EQ CORP 2019-01-31 50 25.0
2 FICC GOV 2019-03-31 200 100.0
3 EQ CORP 2019-03-31 100 50.0
添加回答
举报
0/150
提交
取消