反转累积列
Reverse a Cumulative Column
我想反过来 -
ID month year Fee
68119 February 2015 25
68119 March 2015 25
68119 April 2015 25
68119 May 2015 25
00200 February 2015 50
00200 March 2015 375
00200 April 2015 375
00200 May 2015 375
00200 June 2015 375
00200 July 2015 375
00200 August 2015 375
Fee
列 是 YTD 数字。我想要 MTD 编号。预期输出 -
ID month year Fee
68119 February 2015 25
68119 March 2015 0
68119 April 2015 0
68119 May 2015 0
00200 February 2015 50
00200 March 2015 325
00200 April 2015 0
00200 May 2015 0
00200 June 2015 0
00200 July 2015 0
00200 August 2015 0
年初至今的逻辑 -
df.groupby('ID')['Fee'].cumsum()
现在对于 MTD,我认为如果没有 pandas
的方法,那么我必须在 ID
、sort
上使用 for 循环[year, month]
然后做减法。我已经尝试过了,但我知道有一种更原生的 pandas
方法可以做到这一点。提前致谢。
让我们试试这个:
df['FeeMonthly'] = df.groupby(['ID','year'])['Fee'].diff().fillna(df.Fee)
输出:
ID month year Fee FeeMonthly
0 68119 February 2015 25 25.0
1 68119 March 2015 25 0.0
2 68119 April 2015 25 0.0
3 68119 May 2015 25 0.0
4 200 February 2015 50 50.0
5 200 March 2015 375 325.0
6 200 April 2015 375 0.0
7 200 May 2015 375 0.0
8 200 June 2015 375 0.0
9 200 July 2015 375 0.0
10 200 August 2015 375 0.0
我想反过来 -
ID month year Fee
68119 February 2015 25
68119 March 2015 25
68119 April 2015 25
68119 May 2015 25
00200 February 2015 50
00200 March 2015 375
00200 April 2015 375
00200 May 2015 375
00200 June 2015 375
00200 July 2015 375
00200 August 2015 375
Fee
列 是 YTD 数字。我想要 MTD 编号。预期输出 -
ID month year Fee
68119 February 2015 25
68119 March 2015 0
68119 April 2015 0
68119 May 2015 0
00200 February 2015 50
00200 March 2015 325
00200 April 2015 0
00200 May 2015 0
00200 June 2015 0
00200 July 2015 0
00200 August 2015 0
年初至今的逻辑 -
df.groupby('ID')['Fee'].cumsum()
现在对于 MTD,我认为如果没有 pandas
的方法,那么我必须在 ID
、sort
上使用 for 循环[year, month]
然后做减法。我已经尝试过了,但我知道有一种更原生的 pandas
方法可以做到这一点。提前致谢。
让我们试试这个:
df['FeeMonthly'] = df.groupby(['ID','year'])['Fee'].diff().fillna(df.Fee)
输出:
ID month year Fee FeeMonthly
0 68119 February 2015 25 25.0
1 68119 March 2015 25 0.0
2 68119 April 2015 25 0.0
3 68119 May 2015 25 0.0
4 200 February 2015 50 50.0
5 200 March 2015 375 325.0
6 200 April 2015 375 0.0
7 200 May 2015 375 0.0
8 200 June 2015 375 0.0
9 200 July 2015 375 0.0
10 200 August 2015 375 0.0