大熊猫在行之间移动增量

我有一个类似于以下内容的数据框:


Area    Sector  Date          Amt

FICC    GOV     31/01/2019    100

EQ      CORP    31/01/2019     50

FICC    GOV     31/03/2019    200

EQ      CORP    31/03/2019    100

FICC    GOV     31/12/2018     50

EQ      CORP    31/12/2018     25

我想根据日期获取增量。所以我期待的输出是


Area    Sector  Date          Amt  Delta

FICC    GOV     31/12/2018     50

EQ      CORP    31/12/2018     25

FICC    GOV     31/01/2019    100     50

EQ      CORP    31/01/2019     50     25

FICC    GOV     31/03/2019    200    100

EQ      CORP    31/03/2019    100     50

大熊猫有没有一种有效的方法来实现上述目标?


梵蒂冈之花
浏览 173回答 1
1回答

猛跑小猪

sort日期,然后groupby+diffimport pandas as pddf['Date'] = pd.to_datetime(df.Date)df = df.sort_values('Date')df['Delta'] = df.groupby(['Area', 'Sector']).Amt.diff()   Area Sector       Date  Amt  Delta4  FICC    GOV 2018-12-31   50    NaN5    EQ   CORP 2018-12-31   25    NaN0  FICC    GOV 2019-01-31  100   50.01    EQ   CORP 2019-01-31   50   25.02  FICC    GOV 2019-03-31  200  100.03    EQ   CORP 2019-03-31  100   50.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python