Python 使用条件计算列值
数据帧:Python 使用条件计算列值,python,pandas,numpy,Python,Pandas,Numpy,数据帧: Date A B C D 1 10 0 0 0 2 0 25 6 7 3 0 2 5 10 4 0 10 9 7
Date A B C D
1 10 0 0 0
2 0 25 6 7
3 0 2 5 10
4 0 10 9 7
我试图编写一个func来计算一个扣减列,每次日期=1,扣减列==列a
如果日期不等于1,则扣减列=列B+列C-列D
最终产量
Date A B C D Deduction Close
1 10 0 0 0 10 10
2 10 25 6 7 24 34
3 34 2 5 10 -3 31
4 31 10 9 7 12 43
在下面的代码中,我使用shift(-1)从上一行获取列['Close']的val
下面的代码给出了我如何处理这个问题的想法,我不知道如何在自己的定义中引用该列,或者是否有某种解决方法
问题被删除并重新发布,因为我需要在几个小时内提交,上一个问题因不清楚而关闭,我们已经尝试在这一个问题中尽可能详细地阐述
Final['Deduction']=np.where(Final['Date'] ==1, Final['A'], Final['B'] + Final['C']- Final['D'])
Final['Close']=np.where(Final['Date'] ==1, Final['Deduction'],Final['Close'].shift(-1)+ Final['Deduction'] )
Final
尝试cumsum()
Final['Deduction']=np.where(Final['Date'] ==1, Final['A'], Final['B'] + Final['C']- Final['D'])
Final['Close']=Final['Deduction'].cumsum()
Final