Date AccountRef Amount Type
0 2019-04-15 REF0005 25000.00 cashflow_in
1 2019-04-15 REF004 20000.00 cashflow_in
2 2019-06-07 REF005 2000.00 cashflow_in
3 2019-07-24 REF005 3000.00 cashflow_in
4 2019-07-25 REF004 5000.00 cashflow_out
5 2019-08-08 REF004 5000.00 cashflow_in
6 2019-09-10 REF004 5000.00 cashflow_out
7 2019-10-13 REF005 5000.00 cashflow_out
8 2019-10-30 REF006 5000.00 cashflow_in
9 2019-11-08 REF009 2500.00 cashflow_out
10 2019-11-23 REF005 5000.00 cashflow_in
11 2019-11-30 REF011 5000.00 cashflow_out
上面是我的大致数据集,我一直在尝试创建一个新列,如果“AccountRef”相同(因此是的,将有重复值),如果type=cashflow_in,并且日期在某个日期之后(例如使用date=25/07/2020),则“Amount”的总和将相同
在这之后我也将是另一个专栏,但是计算方法应该类似,所以我应该能够再次替换过滤器/函数
我试过这样的方法
> df = df[df['Type'] == 'cashflow_in']
> df['CumluativeIn'] = df.apply(lambda row: df[df['AccountRef'] == row['AccountRef']]['Amount'].sum(), axis=1)
但它并没有按照它应该的方式工作。它基于excel中的SumIF命令
按建议编辑。 我的期望输出是符合这些标准的每一行中的一个值(或者更准确地说是“总和”)(在某个日期之前,当所有值与同一行中的值相同时,以及当键入-cashflow_in时)
第二个标准很奇怪,但之后我将添加第二列并更改日期,很抱歉我的问题
编辑2:显示我想要的示例 2019-11-01之前的日期
Date AccountRef Amount Type Cumulative_In
0 2019-04-15 REF0005 25000.00 cashflow_in 30000.00
1 2019-04-15 REF004 20000.00 cashflow_in 25000.00
2 2019-06-07 REF005 2000.00 cashflow_in 30000.00
3 2019-07-24 REF005 3000.00 cashflow_in 30000.00
4 2019-07-25 REF004 5000.00 cashflow_out 25000.00
5 2019-08-08 REF004 5000.00 cashflow_in 25000.00
6 2019-09-10 REF004 5000.00 cashflow_out 25000.00
7 2019-10-13 REF005 5000.00 cashflow_out 30000.00
8 2019-10-30 REF006 5000.00 cashflow_in 5000.00
9 2019-11-08 REF009 2500.00 cashflow_out 0.00
10 2019-11-23 REF005 5000.00 cashflow_in 30000.00
11 2019-11-30 REF011 5000.00 cashflow_out 0.00
在Excel中(假设0=A2,F2是新列中的第一个数据点),这将是 新列=Sumifs{金额列
或者更准确地说
F2=Sumifs{$D$2:$D$12,$C$2:$C$12,C2,$B$2:$B$12,<;“2019-11-01”、$F$2:$F$12=“现金流”}
然后F3变成 F3=Sumifs{$D$2:$D$12,$C$2:$C$12,C3,$B$2:$B$12,<;“2019-11-01”、$F$2:$F$12=“现金流”} F4=Sumifs{$D$2:$D$12,$C$2:$C$12,C4,$B$2:$B$12,<;“2019-11-01”,“F$2:$F$12=”现金流“}
我可能不明白你问题的意图。如果要按帐户计算总计,可以使用以下代码实现。 这符合你的意图吗
在做了很多手脚,和同事们交谈之后,诸如此类——我想我成功了,所以我想我会把答案贴在这里
打印(df)
相关问题 更多 >
编程相关推荐